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.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.slcf.pojo.UserBean; import com.slcf.bean.AdjDetailCondition; import com.slcf.bean.LocDetailCondition; import com.slcf.pojo.AdjDetailBean; import com.slcf.pojo.LocDetailBean; import com.slcf.pojo.LocationBean; import com.slcf.pojo.MatCodeBean; import com.slcf.pojo.SysLogBean; import com.slcf.service.AdjDetailService; import com.slcf.service.LocDetailService; import com.slcf.service.MatCodeService; import com.slcf.service.RoleService; import com.slcf.service.LocationService; import com.slcf.service.SysLogService; import com.slcf.util.AuthorityCode; /** * 库存调整控制器层 * @author admin * @date 2018年11月15日 */ @Controller @RequestMapping("/stock") public class AdjDetailController { @Resource AdjDetailService adjDetailService; @Autowired LocDetailService locDetailService; @Autowired MatCodeService matCodeService; @Autowired LocationService locationService; @Autowired SysLogService sysLogService; @Autowired RoleService roleService; @RequestMapping("goAdjDetail.action") public String goAdjDetailPage(HttpServletRequest request){ try { String rid = request.getSession().getAttribute("ROLEID").toString(); String authCode = roleService.getAuthListByRoleMenu(Integer.parseInt(rid), AuthorityCode.AdjDetailCode); 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("goAdjDetail.action"); sysLog.setTts_keyname("访问:库存调整"); sysLog.setModi_user(user.getUser_account()); sysLogService.insertSysLog(sysLog); }catch (Exception e) { System.out.println(e.getMessage()); } return "adjDetail"; } /** * 添加 * @param adjDetail * @param request * @return */ @ResponseBody @RequestMapping("/insertAdjLoc.action") public Integer insertAdjLoc(AdjDetailCondition adjDetailCon,HttpServletRequest request){ int result=0; try { UserBean user=(UserBean)request.getSession().getAttribute("USER"); if(adjDetailCon != null) { LocDetailBean detail = locDetailService.queryLocDetailById(adjDetailCon.getLoc_no(), adjDetailCon.getMat_no()); if(detail!=null) {//修改 int s_qty = detail.getQty(); int s_ctns = detail.getCtns(); double s_wt = detail.getWt(); detail.setQty(s_qty + adjDetailCon.getAdj_qty()); detail.setCtns(s_ctns + adjDetailCon.getAdj_ctns()); detail.setWt(s_wt + adjDetailCon.getAdj_wt()); detail.setMemo(adjDetailCon.getMemo()); result = locDetailService.upLocDetail(detail); if(result>0) { AdjDetailBean adjDetail = new AdjDetailBean(); adjDetail.setLoc_no(adjDetailCon.getLoc_no()); adjDetail.setMat_no(adjDetailCon.getMat_no()); adjDetail.setS_qty(s_qty); adjDetail.setS_ctns(s_ctns); adjDetail.setS_wt(s_wt); adjDetail.setAdj_qty(adjDetailCon.getAdj_qty()); adjDetail.setAdj_ctns(adjDetailCon.getAdj_ctns()); adjDetail.setAdj_wt(adjDetailCon.getAdj_wt()); adjDetail.setQty(detail.getQty()); adjDetail.setCtns(detail.getCtns()); adjDetail.setWt(detail.getWt()); adjDetail.setMemo(adjDetailCon.getMemo()); adjDetail.setModi_user(user.getUser_account()); adjDetailService.insertAdjDetail(adjDetail); } } else {//插入 LocDetailBean locDetail = new LocDetailBean(); locDetail.setLoc_no(adjDetailCon.getLoc_no()); locDetail.setMat_no(adjDetailCon.getMat_no()); locDetail.setQty(adjDetailCon.getAdj_qty()); locDetail.setCtns(adjDetailCon.getAdj_ctns()); locDetail.setWt(adjDetailCon.getAdj_wt()); locDetail.setMemo(adjDetailCon.getMemo()); locDetail.setModi_user(user.getUser_account()); result = locDetailService.insertLocDetail(locDetail); if(result>0) { AdjDetailBean adjDetail = new AdjDetailBean(); adjDetail.setLoc_no(adjDetailCon.getLoc_no()); adjDetail.setMat_no(adjDetailCon.getMat_no()); adjDetail.setS_qty(0); adjDetail.setS_ctns(0); adjDetail.setS_wt(0); adjDetail.setAdj_qty(adjDetailCon.getAdj_qty()); adjDetail.setAdj_ctns(adjDetailCon.getAdj_ctns()); adjDetail.setAdj_wt(adjDetailCon.getAdj_wt()); adjDetail.setQty(adjDetailCon.getAdj_qty()); adjDetail.setCtns(adjDetailCon.getAdj_ctns()); adjDetail.setWt(adjDetailCon.getAdj_wt()); adjDetail.setMemo(adjDetailCon.getMemo()); adjDetail.setModi_user(user.getUser_account()); adjDetailService.insertAdjDetail(adjDetail); } } } 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("insertAdjLoc.action"); sysLog.setTts_keyname("库存调整插入明细:" + adjDetailCon.getLoc_no() + "-"+ adjDetailCon.getMat_no()); 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("/adjLocList.action") public Map queryLocDetailListByPages(LocDetailCondition locDetailCon){ if(locDetailCon.getLoc_no()==null || locDetailCon.getLoc_no().equals("")) { return null; } Mapmap=locDetailService.queryLocDetailList(locDetailCon); return map; } /** * 分页查询所有 * @param pageNumber * @param pageSize * @return */ // @ResponseBody // @RequestMapping("/adjDetailList.action") // public Map queryAdjDetailListByPages(AdjDetailCondition adjDetailCon){ // Mapmap=adjDetailService.queryAdjDetailList(adjDetailCon); // return map; // } /** * 根据id查询信息 * @param id * @return */ @ResponseBody @RequestMapping("/queryAdjDetailById.action") public AdjDetailBean queryAdjDetailById(@RequestParam("did")int id){ try { return adjDetailService.queryAdjDetailById(id); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 根据id查询信息 * @param id * @return */ @ResponseBody @RequestMapping("/queryAdjLocById.action") public LocDetailBean queryAdjLocById(@RequestParam("loc_no")String loc_no, @RequestParam("mat_no")String mat_no,HttpServletRequest request){ try { return locDetailService.queryLocDetailById(loc_no, mat_no); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } /** * 验证物料编号是否存在 * @param did * @return */ @ResponseBody @RequestMapping("/checkCode.action") public Map checkMatCode(@RequestParam("did")String id,@RequestParam("loc_no")String loc_no){ Map map=new HashMap(); // boolean flag=userService.validUserAccount(account, uid); try { MatCodeBean matCode = matCodeService.queryMatCodeById(id); LocationBean location = locationService.queryLocationById(loc_no); if(matCode!=null && location!=null){ map.put("msg", "代号可用"); }else{ map.put("msg", "库位号/物料号不存在"); } }catch(Exception e) { System.out.println(e.getMessage()); } return map; } /** * 验证代号是否唯一 * @param did * @return */ @ResponseBody @RequestMapping("/checkAdjDetail.action") public Map checkAdjDetail(@RequestParam("did")int id){ Map map=new HashMap(); // boolean flag=userService.validUserAccount(account, uid); try { AdjDetailBean AdjDetail = adjDetailService.queryAdjDetailById(id); if(AdjDetail==null){ map.put("msg", "代号可用"); }else{ map.put("msg", "代号不可用"); } }catch(Exception e) { System.out.println(e.getMessage()); } return map; } /** * 修改信息 * @param adjDetailCon * @return */ @ResponseBody @RequestMapping("/upAdjDetail.action") public Integer upAdjDetail(AdjDetailCondition adjDetailCon,HttpServletRequest request){ int result = 0; try { UserBean user=(UserBean)request.getSession().getAttribute("USER"); String loc_no = adjDetailCon.getLoc_no(); String mat_no = adjDetailCon.getMat_no(); LocDetailBean locDetail = locDetailService.queryLocDetailById(loc_no, mat_no); if (locDetail != null) { if(adjDetailCon.getAdj_qty()!=0) { int qty = locDetail.getQty()>=adjDetailCon.getAdj_qty() ? (locDetail.getQty() + adjDetailCon.getAdj_qty()) : 0; locDetail.setQty(qty); } if(adjDetailCon.getAdj_ctns()!=0) { int ctns = locDetail.getCtns()>=adjDetailCon.getAdj_ctns() ? (locDetail.getCtns() + adjDetailCon.getAdj_ctns()) : 0; locDetail.setCtns(ctns); } if(adjDetailCon.getAdj_wt()!=0 ) { double wt = locDetail.getWt()>=adjDetailCon.getAdj_wt() ? (locDetail.getWt() + adjDetailCon.getAdj_wt()) : 0; locDetail.setWt(wt); } locDetail.setMemo(adjDetailCon.getMemo()); result = locDetailService.upLocDetail(locDetail); if(result>0) { AdjDetailBean adjDetail = new AdjDetailBean(); adjDetail.setLoc_no(loc_no); adjDetail.setMat_no(mat_no); adjDetail.setS_qty(adjDetailCon.getQty()); adjDetail.setS_ctns(adjDetailCon.getCtns()); adjDetail.setS_wt(adjDetailCon.getWt()); adjDetail.setAdj_qty(adjDetailCon.getAdj_qty()); adjDetail.setAdj_ctns(adjDetailCon.getAdj_ctns()); adjDetail.setAdj_wt(adjDetailCon.getAdj_wt()); adjDetail.setQty(locDetail.getQty()); adjDetail.setCtns(locDetail.getCtns()); adjDetail.setWt(locDetail.getWt()); adjDetail.setMemo(adjDetailCon.getMemo()); adjDetail.setModi_user(user.getUser_account()); adjDetailService.insertAdjDetail(adjDetail); } } 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("upAdjDetail.action"); sysLog.setTts_keyname("库存调整修改明细:" + adjDetailCon.getLoc_no() + "-"+ adjDetailCon.getMat_no()); sysLog.setModi_user(user.getUser_account()); sysLogService.insertSysLog(sysLog); } }catch(Exception e) { System.out.println(e.getMessage()); } return result; } /** * 删除信息 * @param id * @return */ @ResponseBody @RequestMapping("/delAdjDetl.action") public int delAdjDetail(@RequestParam("loc_no")String loc_no, @RequestParam("mat_no")String mat_no,HttpServletRequest request){ int result = 0; UserBean user = (UserBean) request.getSession().getAttribute("USER"); try { LocDetailBean locDetail = locDetailService.queryLocDetailById(loc_no, mat_no); if (locDetail != null) { result = locDetailService.delLocDetail(loc_no, mat_no); if(result>0) { AdjDetailBean adjDetail = new AdjDetailBean(); adjDetail.setLoc_no(loc_no); adjDetail.setMat_no(mat_no); adjDetail.setS_qty(locDetail.getQty()); adjDetail.setS_ctns(locDetail.getCtns()); adjDetail.setS_wt(locDetail.getWt()); adjDetail.setAdj_qty(0-locDetail.getQty()); adjDetail.setAdj_ctns(0-locDetail.getCtns()); adjDetail.setAdj_wt(0-locDetail.getWt()); adjDetail.setQty(0); adjDetail.setCtns(0); adjDetail.setWt(0); // adjDetail.setMemo(""); adjDetail.setModi_user(user.getUser_account()); adjDetailService.insertAdjDetail(adjDetail); } } 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("delAdjDetail.action"); sysLog.setTts_keyname("库存调整删除明细:" + loc_no+"-"+mat_no); sysLog.setModi_user(user.getUser_account()); sysLogService.insertSysLog(sysLog); } }catch(Exception e) { System.out.println(e.getMessage()); } return result; } /** * 查询所有 * @return */ @ResponseBody @RequestMapping("/getAdjDetail.action") public List getAdjDetail(){ try { return adjDetailService.getAdjDetailList(); }catch(Exception e) { System.out.println(e.getMessage()); return null; } } }