package com.slcf.controller;
|
|
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.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import com.slcf.erp.OperateOracle;
|
import com.slcf.pojo.LocDetailBean;
|
import com.slcf.pojo.LocationBean;
|
import com.slcf.pojo.MatCodeBean;
|
import com.slcf.pojo.StaDescBean;
|
import com.slcf.pojo.StationBean;
|
import com.slcf.pojo.SysLogBean;
|
import com.slcf.pojo.UserBean;
|
import com.slcf.pojo.WorkMastBean;
|
import com.slcf.service.CrnService;
|
import com.slcf.service.LocDetailService;
|
import com.slcf.service.LocationService;
|
import com.slcf.service.LoginService;
|
import com.slcf.service.MatCodeService;
|
import com.slcf.service.OperateService;
|
import com.slcf.service.RowNoService;
|
import com.slcf.service.StaDescService;
|
import com.slcf.service.StationService;
|
import com.slcf.service.SysLogService;
|
import com.slcf.service.WaitPakInService;
|
import com.slcf.service.WorkFileService;
|
import com.slcf.service.WorkNoService;
|
import com.slcf.util.CommonMethod;
|
import com.slcf.util.DESPlus;
|
import com.slcf.util.DateTimeUtil;
|
|
import net.sf.json.JSONArray;
|
import net.sf.json.JSONObject;
|
|
@Controller
|
@RequestMapping("/phone")
|
public class PhoneController {
|
@Resource
|
LoginService loginService;
|
@Autowired
|
SysLogService sysLogService;
|
@Autowired
|
WaitPakInService waitPakInService;
|
@Autowired
|
StaDescService staDescService;
|
@Autowired
|
MatCodeService matCodeService;
|
@Autowired
|
StationService stationService;
|
@Autowired
|
WorkNoService workNoService;
|
@Autowired
|
WorkFileService workFileService;
|
@Autowired
|
RowNoService rowNoService;
|
@Autowired
|
LocationService locationService;
|
@Autowired
|
CrnService crnService;
|
@Autowired
|
OperateService operateService;
|
@Autowired
|
LocDetailService locDetailService;
|
|
/**
|
* 用户登录
|
* @param user
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value="/apiLogin.action",method=RequestMethod.POST)
|
public Map<String, Object> apiLogin(UserBean user, HttpServletRequest request) {
|
Map<String, Object> map = new HashMap<String, Object>();
|
try {
|
Integer i = null;
|
String msg = "";
|
//密码DES加密
|
String user_password = new DESPlus().encrypt(user.getUser_password());
|
UserBean userBean = loginService.getUserInfoByAccount(user.getUser_account(), user_password);
|
if (userBean != null) {
|
// if (user.getUser_password().equals(userBean.getUser_password())) {
|
if (user_password.equals(userBean.getUser_password())) {
|
i = 0;// 登陆成功
|
map.put("id", userBean.getUser_id());
|
request.getSession().setAttribute("currentUser", userBean);
|
// request.getSession().setAttribute("USER", userBean);
|
// request.getSession().setAttribute("NAME", userBean.getUser_name());
|
// request.getSession().setAttribute("ACCOUNT", userBean.getUser_account());
|
// request.getSession().setAttribute("PASS", new DESPlus().decrypt(userBean.getUser_password()));
|
// request.getSession().setAttribute("ID", userBean.getUser_id());
|
// String roles = loginService.getRolesByUserId(userBean.getUser_id());
|
// request.getSession().setAttribute("ROLEID", roles);
|
// request.getSession().setAttribute("CLIENTIP", request.getRemoteAddr());
|
|
// 插入日志
|
SysLogBean sysLog = new SysLogBean();
|
sysLog.setLogin_no(userBean.getUser_account());
|
sysLog.setMachine_ip(request.getRemoteAddr());
|
sysLog.setForm_no("apiLogin.action");
|
sysLog.setTts_keyname("手持终端登录系统");
|
sysLog.setModi_user(userBean.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
msg = "登录成功";
|
map.put("data", userBean.getUser_name());
|
map.put("uid", request.getSession().getId());
|
} else {
|
i = 1;// 登录密码不正确
|
msg = "密码错误";
|
}
|
} else {
|
i = 2;// 此账号不存在
|
msg = "账号不存在";
|
|
}
|
map.put("code", i);
|
map.put("msg", msg);
|
} catch (Exception e) {
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 查询站点
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/apiGetSta.action")
|
public Map<String,Object> apiGetSta(@RequestParam("type")int type){
|
Map<String,Object> map=new HashMap<String, Object>();
|
try {
|
List<StaDescBean> list = staDescService.queryStaDescByTypeNo(type);
|
JSONArray arr = new JSONArray();
|
JSONObject jobj = new JSONObject();
|
if(list!=null && list.size()>0) {
|
for(StaDescBean stn : list) {
|
jobj.put("stn_no", stn.getStn_no());
|
jobj.put("stn_desc", stn.getStn_desc());
|
arr.add(jobj);
|
}
|
map.put("code", 0);
|
map.put("msg", "");
|
map.put("data", arr.toString());
|
}
|
}catch(Exception e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 根据条码查询入库通知档
|
* @param barcode
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value="/apiQueryPakIn.action",method=RequestMethod.POST)
|
public Map<String, Object> apiQueryPakIn(@RequestParam("barcode")String barcode,
|
HttpServletRequest request) {
|
Map<String, Object> map = new HashMap<String, Object>();
|
try {
|
JSONArray arr = new JSONArray();
|
JSONObject jobj = new JSONObject();
|
|
// String barcode = request.getParameter("barcode");
|
MatCodeBean mat = matCodeService.queryMatCodeByBarcode(barcode);
|
if(mat!=null) {
|
jobj.put("mat_no", mat.getMat_no());
|
jobj.put("str3", mat.getStr3());
|
jobj.put("mat_name", mat.getMat_name());
|
jobj.put("num6", mat.getNum6());
|
arr.add(jobj);
|
|
map.put("code", 0);
|
map.put("msg", "");
|
map.put("data", arr.toString());
|
}else {
|
map.put("code", 1);
|
map.put("msg", "无此条码对应数据");
|
}
|
|
// List<WaitPakInBean> list = waitPakInService.getApiWaitPakInList(barcode);
|
// JSONArray arr = new JSONArray();
|
// JSONObject jobj = new JSONObject();
|
// boolean flag = false; //已有入库数量标记
|
// if(list!=null && list.size()>0) {
|
// for(WaitPakInBean pak : list) {
|
// if(pak.getIn_qty()>0) {
|
// flag = true;
|
// break;
|
// }
|
// jobj.put("mat_no", pak.getMat_no());
|
// jobj.put("mat_name", pak.getMat_name());
|
// jobj.put("qty", pak.getQty());
|
// arr.add(jobj);
|
// }
|
// if(flag) {
|
// map.put("code", 1);
|
// map.put("msg", "该条码已有入库数量");
|
// }else {
|
// map.put("code", 0);
|
// map.put("msg", "");
|
// map.put("data", arr.toString());
|
// }
|
// }else {
|
// map.put("code", 1);
|
// map.put("msg", "无此条码对应数据");
|
// }
|
} catch (Exception e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 通过托盘码全板入库启动
|
* @return
|
* @throws Exception
|
*/
|
@ResponseBody
|
@RequestMapping("/apiStorePakIn.action")
|
public Map<String,Object> apiStorePakIn(@RequestParam("barcode")String barcode,
|
@RequestParam("stn_no")int stn_no,HttpServletRequest request) throws Exception{
|
Map<String,Object> map=new HashMap<String, Object>();
|
try {
|
CommonMethod commonMethod = new CommonMethod(workFileService,workNoService,crnService,
|
stationService,locationService,rowNoService,staDescService);
|
|
int result=0;
|
String userNo = request.getParameter("user_no");
|
UserBean user = new UserBean();
|
user.setUser_account(userNo);
|
// UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
WorkMastBean workMast = new WorkMastBean();
|
|
if(barcode==null || barcode.equals("")) {
|
map.put("code", 1);
|
map.put("msg", "没有入库明细数据");
|
return map;
|
}
|
|
//判断站点是否正常
|
StationBean station = stationService.queryStationById(stn_no);
|
Map<String,Object> mapStation = commonMethod.checkStationStatus(station);
|
if((Integer)mapStation.get("code")==1) {
|
map.put("code", 1);
|
map.put("msg", mapStation.get("msg"));
|
return map;
|
}
|
|
int wrk_no = commonMethod.getNewWorkNo(workNoService.queryWorkNoById(0));
|
if(wrk_no<=0) {
|
map.put("code", 1);
|
map.put("msg", "生成工作号失败,请联系管理员");
|
return map;
|
}else {
|
WorkMastBean workFile = workFileService.queryWorkMastById(wrk_no);
|
if(workFile!=null) {
|
map.put("code", 1);
|
map.put("msg", "生成工作号" + wrk_no + "在工作档中已存在");
|
return map;
|
}
|
}
|
|
String loc_no = "";
|
loc_no = commonMethod.getLocNo(1,rowNoService.queryRowNoById(1), stn_no, station.getCtn_type());
|
if(loc_no.equals("")) {
|
map.put("code", 1);
|
map.put("msg", "查询可用库位失败,请检查堆垛机、设备状态");
|
return map;
|
}
|
int crn_no = Integer.parseInt(loc_no.substring(0,2));
|
crn_no = (crn_no+1) / 2;
|
int e_staNo = commonMethod.getIoStaNo(1,crn_no,stn_no);
|
if(e_staNo<=0) {
|
map.put("code", 1);
|
map.put("msg", "获取堆垛机站点失败");
|
return map;
|
}
|
String io_time = DateTimeUtil.getStringDateTime(19);
|
workMast.setWrk_no(wrk_no);
|
workMast.setIo_time(io_time);
|
workMast.setWrk_sts(1);
|
workMast.setIo_type(1);
|
workMast.setIo_pri(10);
|
workMast.setCrn_no(crn_no);
|
workMast.setSource_sta_no(stn_no);
|
workMast.setSta_no(e_staNo);
|
workMast.setLoc_no(loc_no);
|
workMast.setFull_plt("N");
|
workMast.setPicking("N");
|
workMast.setExit_mk("N");
|
workMast.setEmpty_mk("N");
|
workMast.setLink_mis("N");
|
workMast.setCtn_type(station.getCtn_type());
|
workMast.setModi_user(user.getUser_account());
|
|
map = operateService.insertApiStoreIn(workMast, barcode, station, user);
|
|
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("pakStoreIn.action");
|
sysLog.setTts_keyname("启动入库:" + workMast.getWrk_no() + "-" + workMast.getLoc_no());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(RuntimeException e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 通过箱号全板入库启动
|
* @return
|
* @throws Exception
|
*/
|
@ResponseBody
|
@RequestMapping("/apiStoreInByMat.action")
|
public Map<String,Object> apiStoreInByMat(@RequestParam("mat_no")String mat_no,
|
@RequestParam("stn_no")int stn_no,HttpServletRequest request) throws Exception{
|
Map<String,Object> map=new HashMap<String, Object>();
|
try {
|
CommonMethod commonMethod = new CommonMethod(workFileService,workNoService,crnService,
|
stationService,locationService,rowNoService,staDescService);
|
|
int result=0;
|
String userNo = request.getParameter("user_no");
|
UserBean user = new UserBean();
|
user.setUser_account(userNo);
|
// UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
WorkMastBean workMast = new WorkMastBean();
|
|
if(mat_no==null || mat_no.equals("")) {
|
map.put("code", 1);
|
map.put("msg", "没有入库明细数据");
|
return map;
|
}
|
MatCodeBean matCode = matCodeService.queryMatCodeById(mat_no);
|
if(matCode!=null) { //更新条码
|
matCode.setBarcode(mat_no);
|
result = matCodeService.upMatBarcode(matCode);
|
}else { //插入
|
OperateOracle oerp=new OperateOracle();
|
MatCodeBean mat = oerp.SelectMatCode(mat_no);
|
if(mat!=null) {
|
mat.setBarcode(mat_no);
|
result = matCodeService.insertMatCode(mat);
|
}
|
}
|
|
//判断站点是否正常
|
StationBean station = stationService.queryStationById(stn_no);
|
Map<String,Object> mapStation = commonMethod.checkStationStatus(station);
|
if((Integer)mapStation.get("code")==1) {
|
map.put("code", 1);
|
map.put("msg", mapStation.get("msg"));
|
return map;
|
}
|
|
int wrk_no = commonMethod.getNewWorkNo(workNoService.queryWorkNoById(0));
|
if(wrk_no<=0) {
|
map.put("code", 1);
|
map.put("msg", "生成工作号失败,请联系管理员");
|
return map;
|
}else {
|
WorkMastBean workFile = workFileService.queryWorkMastById(wrk_no);
|
if(workFile!=null) {
|
map.put("code", 1);
|
map.put("msg", "生成工作号" + wrk_no + "在工作档中已存在");
|
return map;
|
}
|
}
|
|
String loc_no = "";
|
loc_no = commonMethod.getLocNo(1,rowNoService.queryRowNoById(1), stn_no, station.getCtn_type());
|
if(loc_no.equals("")) {
|
map.put("code", 1);
|
map.put("msg", "查询可用库位失败,请检查堆垛机、设备状态");
|
return map;
|
}
|
int crn_no = Integer.parseInt(loc_no.substring(0,2));
|
crn_no = (crn_no+1) / 2;
|
int e_staNo = commonMethod.getIoStaNo(1,crn_no,stn_no);
|
if(e_staNo<=0) {
|
map.put("code", 1);
|
map.put("msg", "获取堆垛机站点失败");
|
return map;
|
}
|
String io_time = DateTimeUtil.getStringDateTime(19);
|
workMast.setWrk_no(wrk_no);
|
workMast.setIo_time(io_time);
|
workMast.setWrk_sts(1);
|
workMast.setIo_type(1);
|
workMast.setIo_pri(10);
|
workMast.setCrn_no(crn_no);
|
workMast.setSource_sta_no(stn_no);
|
workMast.setSta_no(e_staNo);
|
workMast.setLoc_no(loc_no);
|
workMast.setFull_plt("N");
|
workMast.setPicking("N");
|
workMast.setExit_mk("N");
|
workMast.setEmpty_mk("N");
|
workMast.setLink_mis("N");
|
workMast.setCtn_type(station.getCtn_type());
|
workMast.setModi_user(user.getUser_account());
|
|
map = operateService.insertApiStoreIn(workMast, mat_no, station, user);
|
|
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("pakStoreIn.action");
|
sysLog.setTts_keyname("启动入库:" + workMast.getWrk_no() + "-" + workMast.getLoc_no());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(RuntimeException e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 空板入库启动
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/apiStoreEmpPlt.action")
|
public Map<String,Object> apiStoreEmpPlt(@RequestParam("stn_no")int stn_no,
|
HttpServletRequest request) throws Exception{
|
Map<String,Object> map=new HashMap<String, Object>();
|
try {
|
CommonMethod commonMethod = new CommonMethod(workFileService,workNoService,crnService,
|
stationService,locationService,rowNoService,staDescService);
|
|
String userNo = request.getParameter("user_no");
|
UserBean user = new UserBean();
|
user.setUser_account(userNo);
|
// UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
WorkMastBean workMast = new WorkMastBean();
|
|
//判断站点是否正常
|
StationBean station = stationService.queryStationById(stn_no);
|
Map<String,Object> mapStation = commonMethod.checkStationStatus(station);
|
if((Integer)mapStation.get("code")==1) {
|
map.put("code", 1);
|
map.put("msg", mapStation.get("msg"));
|
return map;
|
}
|
|
int wrk_no = commonMethod.getNewWorkNo(workNoService.queryWorkNoById(0));
|
if(wrk_no<=0) {
|
map.put("code", 1);
|
map.put("msg", "生成工作号失败,请联系管理员");
|
return map;
|
}else {
|
WorkMastBean workFile = workFileService.queryWorkMastById(wrk_no);
|
if(workFile!=null) {
|
map.put("code", 1);
|
map.put("msg", "生成工作号" + wrk_no + "在工作档中已存在");
|
return map;
|
}
|
}
|
|
String loc_no = "";
|
loc_no = commonMethod.getLocNo(10, rowNoService.queryRowNoById(1), stn_no, 1);
|
if(loc_no.equals("")) {
|
map.put("code", 1);
|
map.put("msg", "查询可用库位失败,请检查堆垛机、设备状态");
|
return map;
|
}
|
int crn_no = Integer.parseInt(loc_no.substring(0,2));
|
crn_no = (crn_no+1) / 2;
|
int e_staNo = commonMethod.getIoStaNo(10, crn_no, stn_no);
|
if(e_staNo<=0) {
|
map.put("code", 1);
|
map.put("msg", "获取堆垛机站点失败");
|
return map;
|
}
|
String io_time = DateTimeUtil.getStringDateTime(19);
|
workMast.setWrk_no(wrk_no);
|
workMast.setIo_time(io_time);
|
workMast.setWrk_sts(1);
|
workMast.setIo_type(10);
|
workMast.setIo_pri(10);
|
workMast.setCrn_no(crn_no);
|
workMast.setSource_sta_no(stn_no);
|
workMast.setSta_no(e_staNo);
|
workMast.setLoc_no(loc_no);
|
workMast.setFull_plt("N");
|
workMast.setPicking("N");
|
workMast.setExit_mk("N");
|
workMast.setEmpty_mk("Y");
|
workMast.setLink_mis("N");
|
workMast.setModi_user(user.getUser_account());
|
|
map = operateService.insertEmptyStoreIn(workMast, station, user);
|
|
if((Integer)map.get("code")==0) {
|
map.put("data", "库位号:" + loc_no);
|
// 插入日志
|
// 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("apiStoreEmpPlt.action");
|
sysLog.setTts_keyname("启动空板入库:" + workMast.getWrk_no() + "-" + workMast.getLoc_no());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(RuntimeException e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 空板出库启动
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping("/apiRetrieveEmpPlt.action")
|
public Map<String,Object> apiRetrieveEmpPlt(@RequestParam("stn_no")int stn_no,
|
HttpServletRequest request) throws Exception{
|
Map<String,Object> map=new HashMap<String, Object>();
|
try {
|
String loc_no = locationService.queryLocationBySts("D");
|
if(loc_no==null || loc_no.equals("")) {
|
map.put("code", 1);
|
map.put("msg", "没有在库空栈板");
|
return map;
|
}
|
|
CommonMethod commonMethod = new CommonMethod(workFileService,workNoService,crnService,
|
stationService,locationService,rowNoService,staDescService);
|
|
String userNo = request.getParameter("user_no");
|
UserBean user = new UserBean();
|
user.setUser_account(userNo);
|
// UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
WorkMastBean workMast = new WorkMastBean();
|
|
// workMast.setWrk_no(wrk_no);
|
// workMast.setIo_time(io_time);
|
workMast.setWrk_sts(11);
|
workMast.setIo_type(110);
|
workMast.setIo_pri(13);
|
workMast.setSta_no(stn_no);
|
// workMast.setCrn_no(crn_no);
|
// workMast.setSource_sta_no(stn_no);
|
// workMast.setSta_no(e_staNo);
|
// workMast.setLoc_no(loc_no);
|
workMast.setFull_plt("N");
|
workMast.setPicking("N");
|
workMast.setExit_mk("N");
|
workMast.setEmpty_mk("Y");
|
workMast.setLink_mis("N");
|
workMast.setModi_user(user.getUser_account());
|
|
String[] ids = loc_no.split(",");
|
map = operateService.insertemptyRetrieve(workMast, ids, stn_no, user, commonMethod);
|
|
if((Integer)map.get("code")==0) {
|
map.put("data", loc_no);
|
// 插入日志
|
// 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("apiRetrieveEmpPlt.action");
|
sysLog.setTts_keyname("手持端启动空板出库:" + workMast.getWrk_no() + "-" + workMast.getLoc_no());
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(RuntimeException e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 根据条码查询库存
|
* @param barcode
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value="/apiQueryLocDetl.action",method=RequestMethod.POST)
|
public Map<String, Object> apiQueryLocDetl(//@RequestParam("barcode")String barcode,
|
// @RequestParam("loc_no")String loc_no,HttpServletRequest request) {
|
HttpServletRequest request) {
|
Map<String, Object> map = new HashMap<String, Object>();
|
try {
|
String barcode = request.getParameter("barcode");
|
String loc_no = request.getParameter("loc_no");
|
|
List<LocDetailBean> list = null;
|
if(barcode!=null && !barcode.equals("")) {
|
list = locDetailService.getLocDetailByLoc(barcode, 1);
|
}else if(loc_no!=null && !loc_no.equals("")) {
|
list = locDetailService.getLocDetailByLoc(loc_no, 2);
|
}else {
|
map.put("code", 1);
|
map.put("msg", "条码和库位都为空");
|
}
|
|
JSONArray arr = new JSONArray();
|
JSONObject jobj = new JSONObject();
|
// boolean flag = false; //已有入库数量标记
|
if(list!=null && list.size()>0) {
|
for(LocDetailBean detl : list) {
|
jobj.put("mat_no", detl.getMat_no());
|
jobj.put("str3", detl.getStr3());
|
jobj.put("mat_name", detl.getMat_name());
|
jobj.put("num6", detl.getNum6());
|
jobj.put("loc_no", detl.getLoc_no()!=null ? detl.getLoc_no() : "");
|
jobj.put("barcode", detl.getBarcode()!=null ? detl.getBarcode() : "");
|
arr.add(jobj);
|
}
|
// if(flag) {
|
// map.put("code", 1);
|
// map.put("msg", "该条码已有入库数量");
|
// }else {
|
map.put("code", 0);
|
map.put("msg", "");
|
map.put("data", arr.toString());
|
// }
|
}else {
|
map.put("code", 1);
|
map.put("msg", "无此条码对应数据");
|
}
|
} catch (Exception e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 手持终端出库启动
|
* @param loc_no
|
* @param stn_no
|
* @param request
|
* @return
|
* @throws Exception
|
*/
|
@ResponseBody
|
@RequestMapping("/apiPakRetrieve.action")
|
public Map<String,Object> apiPakRetrieve(@RequestParam("loc_no")String loc_no,
|
@RequestParam("stn_no")int stn_no,HttpServletRequest request) throws Exception{
|
Map<String,Object> map=new HashMap<String, Object>();
|
try {
|
CommonMethod commonMethod = new CommonMethod(workFileService,workNoService,crnService,
|
stationService,locationService,rowNoService,staDescService);
|
|
String userNo = request.getParameter("user_no");
|
String barcode = request.getParameter("barcode");
|
UserBean user = new UserBean();
|
user.setUser_account(userNo);
|
// UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
if(loc_no!=null && !loc_no.equals("")) {
|
LocationBean location = locationService.queryLocationById(loc_no);
|
if(location==null || !location.getLoc_sts().equals("F")){
|
map.put("code", 1);
|
map.put("msg", "库位不存在或非在库状态");
|
return map;
|
}
|
map = operateService.insertApiPakRetrieve(loc_no, stn_no, user, commonMethod, barcode);
|
}else {
|
map.put("code", 1);
|
map.put("msg", "没有选择出库库位");
|
return map;
|
}
|
|
if((Integer)map.get("code")==0) {
|
map.put("data", loc_no);
|
// 插入日志
|
// 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("apiPakRetrieve.action");
|
sysLog.setTts_keyname("启动出库");
|
sysLog.setModi_user(user.getUser_account());
|
sysLogService.insertSysLog(sysLog);
|
}
|
}catch(RuntimeException e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 根据条码查询库存
|
* @param barcode
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value="/apiQueryErpMatInfo.action",method=RequestMethod.POST)
|
public Map<String, Object> apiQueryErpMatInfo(@RequestParam("mat_no")String mat_no,
|
// @RequestParam("loc_no")String loc_no,HttpServletRequest request) {
|
HttpServletRequest request) {
|
Map<String, Object> map = new HashMap<String, Object>();
|
try {
|
JSONArray arr = new JSONArray();
|
JSONObject jobj = new JSONObject();
|
|
OperateOracle oerp=new OperateOracle();
|
MatCodeBean matCode = oerp.SelectMatCode(mat_no);
|
if(matCode!=null) {
|
jobj.put("mat_no", matCode.getMat_no());
|
jobj.put("str3", matCode.getStr3());
|
jobj.put("mat_name", matCode.getMat_name());
|
jobj.put("num6", matCode.getNum6());
|
arr.add(jobj);
|
|
map.put("code", 0);
|
map.put("msg", "");
|
map.put("data", arr.toString());
|
}else {
|
map.put("code", 1);
|
map.put("msg", "无此箱号对应数据");
|
}
|
|
} catch (Exception e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/**
|
* 根据物料编号,查询物料信息
|
* @param mat_no
|
* @param request
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value="/apiQueryMatInfo.action",method=RequestMethod.POST)
|
public Map<String, Object> apiQueryMatInfo(@RequestParam("mat_no")String mat_no,
|
HttpServletRequest request) {
|
Map<String, Object> map = new HashMap<String, Object>();
|
try {
|
MatCodeBean mat = matCodeService.queryMatCodeById(mat_no);
|
if(mat!=null) {
|
map.put("code", 0);
|
map.put("msg", "");
|
map.put("data", mat.getMat_name());
|
}else {
|
map.put("code", 1);
|
map.put("msg", "无此条码对应数据");
|
}
|
} catch (Exception e) {
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
System.out.println(e.getMessage());
|
}
|
return map;
|
}
|
|
/*
|
* 组托
|
*/
|
@ResponseBody
|
@RequestMapping(value="/apiWaitPakIn.action",method=RequestMethod.POST)
|
public Map<String, Object> apiWaitPakIn(@RequestParam("param")String param,@RequestParam("mat_no")String mat_no,
|
@RequestParam("barcode")String barcode,HttpServletRequest request) {
|
Map<String, Object> map = new HashMap<String, Object>();
|
String msg = "";
|
try {
|
String userNo = request.getParameter("user_no");
|
UserBean user = new UserBean();
|
user.setUser_account(userNo);
|
|
//货物箱号如果尾数为%,则去掉%以后再查询oracle数据库
|
String suffix = mat_no.substring(mat_no.length()-1);
|
if(suffix.equals("%")) {
|
mat_no=mat_no.substring(0,mat_no.length()-1);
|
}
|
|
int result = 0;
|
MatCodeBean matCode = matCodeService.queryMatCodeById(mat_no);
|
MatCodeBean matCode1 = matCodeService.queryMatCodeByBarcode(barcode);
|
if(matCode!=null) { //箱号已存在
|
// map.put("msg", "物料/条码数据已存在");
|
// matCode.setBarcode(barcode);
|
if(matCode.getStatus()==0 && matCodeService.getMatCount(mat_no)<=0) {
|
matCode.setBarcode(barcode);
|
result = matCodeService.upMatBarcode(matCode);
|
// matCodeService.delMatCode(id);
|
}else {
|
map.put("code", 1);
|
msg = "箱号数据已存在!";
|
}
|
}else if(matCode1!=null) {
|
String mat_no1 = matCode1.getMat_no();
|
if(matCode1.getStatus()==0 && matCodeService.getMatCount(mat_no1)<=0
|
&& !mat_no1.equals(mat_no)) {
|
matCodeService.delMatCode(mat_no1);
|
map.put("code", 1);
|
msg = "条码已组托但未使用,物料不符已删除组托数据";
|
}else {
|
map.put("code", 1);
|
msg = "条码数据已存在且使用";
|
}
|
}else { //插入
|
MatCodeBean mat = null;
|
if(param.equals("")) {
|
mat = new MatCodeBean();
|
mat.setMat_no(mat_no);
|
}else {
|
OperateOracle oerp=new OperateOracle();
|
mat = oerp.SelectMatCode(mat_no);
|
}
|
|
if(mat!=null) {
|
mat.setBarcode(barcode);
|
result = matCodeService.insertMatCode(mat);
|
}
|
}
|
|
if(result>0) {
|
map.put("code", 0);
|
map.put("msg", "");
|
}else {
|
map.put("code", 1);
|
map.put("msg", msg);
|
}
|
// UserBean user=(UserBean)request.getSession().getAttribute("USER");
|
// if(barcode!=null && !barcode.equals("")) {
|
// List<WaitPakInBean> list = waitPakInService.getApiWaitPakInList(barcode);
|
// if(list!=null && list.size()>0) {
|
// map.put("code", 1);
|
// map.put("msg", "条码在入库通知档中已存在");
|
// return map;
|
// }
|
// }else {
|
// map.put("code", 1);
|
// map.put("msg", "条码号不存在");
|
// return map;
|
// }
|
|
// if(param!=null && !param.equals("")) {
|
// int result = 0;
|
// JSONArray json = JSONArray.fromObject(param);
|
// if(json.size()>0){
|
// int random = (int)(Math.random()*900 + 100);
|
// String seq = Integer.toString(random);
|
// String sheet_no = DateTimeUtil.getStringDateTime(14);
|
// for(int i=0;i<json.size();i++){
|
// JSONObject job = json.getJSONObject(i);
|
//
|
// WaitPakInBean wat = waitPakInService.queryWaitPakInById(sheet_no+seq,job.get("mat_no").toString());
|
//
|
// if(wat!=null) {
|
// wat.setBarcode(barcode);
|
// wat.setMat_no(job.get("mat_no").toString());
|
// wat.setQty(wat.getQty() + Integer.parseInt(job.get("qty").toString()));
|
// wat.setModi_user(userNo);
|
// result = waitPakInService.upWaitPakIn(wat);
|
// }else {
|
// WaitPakInBean pak = new WaitPakInBean();
|
// pak.setSheet_no(sheet_no+seq);
|
// pak.setBarcode(barcode);
|
// pak.setMat_no(job.get("mat_no").toString());
|
// pak.setQty(Integer.parseInt(job.get("qty").toString()));
|
// pak.setModi_user(user.getUser_account());
|
// result = waitPakInService.insertWaitPakIn(pak);
|
// }
|
//
|
// if(result<0) {
|
// break;
|
// }
|
// }
|
// }
|
// if(result>0) {
|
// map.put("code", 0);
|
// map.put("msg", "");
|
// }else {
|
// map.put("code", 1);
|
// map.put("msg", "组托失败");
|
// }
|
// }
|
// else {
|
// map.put("code", 1);
|
// map.put("msg", "请求参数错误");
|
// }
|
} catch (Exception e) {
|
System.out.println(e.getMessage());
|
map.put("code", 1);
|
map.put("msg", e.getMessage());
|
}
|
return map;
|
}
|
}
|