package com.iamberry.rst.controllers.pts; import com.iamberry.rst.core.page.PageRequest; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.pts.*; import com.iamberry.rst.core.tools.QRCJson; import com.iamberry.rst.core.tools.WeixinUtil; import com.iamberry.rst.faces.pts.*; import com.iamberry.wechat.tools.NameUtils; import com.iamberry.wechat.tools.ResponseJson; import com.iamberry.wechat.tools.ResultInfo; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.*; /** * Created by LJK on 2017/8/29. */ @Controller @RequestMapping("/admin/machine") public class AdminMachineController { @Autowired private MachineService machineService; @Autowired private ProduceService produceService; @Autowired private PtsBatchService ptsBatchService; @Autowired private MachineVersionService machineVersionService; @Autowired private PtsBomService ptsBomService; @Autowired private MachinePartsService machinePartsService; @Autowired private PtsSalesCompanyService ptsSalesCompanyService; /** * 查询机器列表 * * @param pageSize * @param pageNO * @return * @author LJK * @date 2017年8月31日16:08:15 */ @RequiresPermissions("machine:select_all:machine") @RequestMapping("/_machine_list") public ModelAndView listOrder( @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize, @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO, @RequestParam(value = "pageTotal", required = false) Integer pageTotal, PtsMachine ptsMachine) { ModelAndView mv = new ModelAndView("pts/machine/machine_list"); StringBuilder sb = new StringBuilder("/admin/machine/_machine_list?pageSize=" + pageSize); if (StringUtils.isNotEmpty(ptsMachine.getMachineBarcode())) { sb.append("&machineBarcode="); sb.append(ptsMachine.getMachineBarcode()); mv.addObject("machineBarcode", ptsMachine.getMachineBarcode()); } if (ptsMachine.getMachineIsPrint() != null && ptsMachine.getMachineIsPrint() != -1) { sb.append("&machineIsPrint="); sb.append(ptsMachine.getMachineIsPrint()); mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint()); } if (ptsMachine.getMachineProcessState() != null && ptsMachine.getMachineProcessState() != -1) { sb.append("&machineProcessState="); sb.append(ptsMachine.getMachineProcessState()); mv.addObject("machineProcessState", ptsMachine.getMachineProcessState()); } PageRequest pageRequest = new PageRequest(ptsMachine, pageNO, pageSize, pageTotal == null); PagedResult pagedResult = machineService.listMachine(pageRequest); long total = 0; if (pageTotal == null) { total = pagedResult.getPages(); } else { total = pageTotal; pagedResult.setPages(total); } //查询最新一条机器id Integer machineId = machineService.maxMachineId(); mv.addObject("machineId", machineId == null ? 0 : machineId); sb.append("&pageTotal=").append(total).append("&pageNO="); mv.addObject("page", pagedResult); mv.addObject("url", sb.toString()); return mv; } /** * 查询最新机器信息 * * @param request * @return */ @RequiresPermissions("machine:latest_all:machine") @ResponseBody @RequestMapping("/_LatestMachine_list") public List listLatestMachine(HttpServletRequest request) { String machineId = request.getParameter("machineId"); if (machineId == null || machineId.equals("")) { return null; } return machineService.listLatestMachine(Integer.valueOf(machineId)); } /** * 修改机器打印状态为已打印 * * @param request * @return */ @RequiresPermissions("machine:update_print:machine") @ResponseBody @RequestMapping("/_update_print") public Integer updateMachinPrintState(HttpServletRequest request) { String machineBarcode = request.getParameter("machineBarcode"); if (machineBarcode == null) { return null; } PtsMachine ptsMachine = new PtsMachine(); ptsMachine.setMachineBarcode(machineBarcode); ptsMachine.setMachineIsPrint(2); return machineService.updateMachine(ptsMachine); } /** * 查询机器打印列表 * * @return * @author LJK * @date 2017年8月31日16:08:15 */ @RequiresPermissions("machine:select_all:machine") @RequestMapping("/_machine_print_list") public ModelAndView listPrintMachine(HttpServletRequest request, PtsMachine ptsMachine, @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize, @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO, @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) { ModelAndView mv = new ModelAndView("pts/machine/machine_print_List"); mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint() == null ? "1" : String.valueOf(ptsMachine.getMachineIsPrint())); StringBuilder sb = new StringBuilder("/admin/machine/_machine_print_list?pageSize=" + pageSize); if (ptsMachine == null || ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1) { //未打印 List machineList = machineService.listPrintOrder(ptsMachine); mv.addObject("machineList", machineList); } else { //已打印 PagedResult pagedResult = machineService.getPrintOrderList(pageNO, pageSize, ptsMachine, totalNum == 0); if (totalNum != 0) { pagedResult.setTotal(totalNum); pagedResult.setPages((int) Math.ceil((double) totalNum / pageSize)); } sb.append("&machineIsPrint="); if (ptsMachine.getMachineIsPrint() != null && ptsMachine.getMachineIsPrint() == 2) { sb.append(ptsMachine.getMachineIsPrint()); } sb.append("&totalNum="); sb.append(totalNum == 0 ? pagedResult.getTotal() : totalNum); sb.append("&pageNO="); mv.addObject("page", pagedResult); mv.addObject("url", sb.toString()); } //查询最新一条机器id Integer machineId = machineService.maxMachineId(); mv.addObject("machineId", machineId); return mv; } /** * 查询机器关联的产品信息 * * @param machineId */ @ResponseBody @RequiresPermissions("machine:select_all:machine") @RequestMapping("/_getProduce_print") public Produce setProduceList(Integer machineId) { Produce produce = machineService.getProduceByMachineId(machineId); return produce; } /** * 打印列表查询所有机器 * * @return * @author LJK * @date 2017年8月31日16:08:15 */ @ResponseBody @RequiresPermissions("machine:select_all:machine") @RequestMapping("/machine_print_list") public List selectPrintMachine(PtsMachine ptsMachine) { return machineService.listPrintOrder(ptsMachine); } /** * 查询机器生成流程 * * @return * @author LJK * @date 2017年8月31日16:08:15 */ @RequiresPermissions("machine:logs_all:machine") @RequestMapping("/_machine_logs_list") public ModelAndView listLogsMachine(Integer machineId) { if (machineId == null || machineId < 0) { return null; } PtsMachine ptsMachine = machineService.getMachine(machineId); ModelAndView mv = new ModelAndView("pts/machine/machine_particulars"); List machineLogsList = machineService.listMachineLogs(machineId); PtsBom ptsBom = new PtsBom(); if (ptsMachine.getMachineBomId() != null && ptsMachine.getMachineBomId() != 0) { //获取bom单 ptsBom.setBomId(ptsMachine.getMachineBomId()); ptsBom = ptsBomService.getPtsBomDetails(ptsBom); } PtsBatch ptsBatch = new PtsBatch(); if (ptsMachine.getMachineBatchId() != null && ptsMachine.getMachineBatchId() != 0) { ptsBatch.setBatchId(ptsMachine.getMachineBatchId()); ptsBatch = ptsBatchService.getPtsBatch(ptsBatch); } PtsMachineVersion ptsMachineVersion = new PtsMachineVersion(); if (ptsMachine.getMachineSoftwareVersion() != null && ptsMachine.getMachineSoftwareVersion() != 0) { ptsMachineVersion.setMachineVersionId(ptsMachine.getMachineSoftwareVersion()); ptsMachineVersion = machineVersionService.getMachineVersion(ptsMachineVersion); } Produce produce = new Produce(); if (ptsMachineVersion != null && ptsMachineVersion.getProduceId() != null) { produce.setProduceId(ptsBatch.getProduceId()); produce = produceService.getProduce(produce); } //获取销售公司 PtsSalesCompany ptsSalesCompany = new PtsSalesCompany(); if(ptsMachine != null && ptsMachine.getMachineSalesState() == 1 && ptsMachine.getMachineSalesCompanyId() != null){ ptsSalesCompany.setSalesCompanyId(ptsMachine.getMachineSalesCompanyId()); ptsSalesCompany = ptsSalesCompanyService.getPtsSalesCompany(ptsSalesCompany); } mv.addObject("ptsSalesCompany", ptsSalesCompany); mv.addObject("produce", produce); mv.addObject("ptsMachineVersion", ptsMachineVersion); mv.addObject("ptsBatch", ptsBatch); mv.addObject("ptsBom", ptsBom); mv.addObject("machineLogsList", machineLogsList); mv.addObject("ptsMachine", ptsMachine); return mv; } /** * 批量修改机器打印状态为已打印 * * @param request * @return */ @RequiresPermissions("machine:update_print:machine") @ResponseBody @RequestMapping("/_batchUpdate_print") public Integer batchUpdateMachineIsPring(HttpServletRequest request) { /*String[] listId = request.getParameterValues("machineBarcodes");*/ String listId = request.getParameter("machineBarcodes"); if (listId == null) { return 0; } String s = new String(listId); String[] a = s.split(","); return machineService.batchUpdateMachineIsPring(a); } /** * 查询机器生产&异常统计 * * @return * @author LJK * @date 2017年8月31日16:08:15 */ @RequiresPermissions("machine:abnormality:statistics") @RequestMapping("/_produced_abnormality_statistics") public ModelAndView producedAbnormalityStatistics(HttpServletRequest request, PtsMachine ptsMachine) { ModelAndView mv = new ModelAndView("pts/machine/producedAbnormalityStatistics"); String produceId = request.getParameter("produceId");//1.产品id Produce produce = new Produce(); if (produceId == null || produceId.equals("")) { produce = produceService.getProduceByOne();//默认为第一个产品 } else { produce.setProduceId(Integer.valueOf(produceId)); produce = produceService.getProduce(produce); } mv.addObject("produceId", produce.getProduceId()); //根据产品id查询产品类型 PtsMachineStatistics ptsMachineStatistics = new PtsMachineStatistics(); Calendar date = Calendar.getInstance(); String year = String.valueOf(date.get(Calendar.YEAR));//年 ptsMachineStatistics.setYear(year); ptsMachineStatistics.setMachineType(produce.getProduceType()); //查询1-12月每月生产机器数 List ptsMachineStatisticsList = machineService.monthStatistics(ptsMachineStatistics); if (ptsMachineStatisticsList.size() > 0) { StringBuffer yearBf = new StringBuffer(); for (int i = 0; i < ptsMachineStatisticsList.size(); i++) { yearBf.append(ptsMachineStatisticsList.get(i).getNum().toString() + ","); } String yearString = yearBf.toString(); mv.addObject("years", "[" + yearString.substring(0, yearString.length() - 1) + "]"); }else{ mv.addObject("years", "[]"); } //查询最近七天生产机器 List dayList = machineService.dayStatistics(ptsMachineStatistics); if (dayList.size() > 0) { StringBuffer dayBf = new StringBuffer(); StringBuffer dateBf = new StringBuffer(); for (int i = 0; i < dayList.size(); i++) { dayBf.append(dayList.get(i).getNum().toString() + ","); dateBf.append("\"" + dayList.get(i).getDate() + "\"" + ","); } String dayString = dayBf.toString(); String monthDayString = dateBf.toString(); mv.addObject("days", "[" + dayString.substring(0, dayString.length() - 1) + "]"); mv.addObject("monthDay", "[" + monthDayString.substring(0, monthDayString.length() - 1) + "]"); }else{ mv.addObject("days", "[]"); mv.addObject("monthDay", "[]"); } /*机器总数及流程异常数*/ PtsMachineStatistics numbers = machineService.flowAbnormality(ptsMachineStatistics); /*机器总数*/ mv.addObject("machineNum", numbers.getMachineCount()); double percentage = 0.0; /*流程异常百分比*/ if (numbers.getMachineAbnormality() == null) { /*机器异常总数*/ mv.addObject("machineAbnormality", 0); } else { percentage = (double) numbers.getMachineAbnormality() / (double) numbers.getMachineCount() * 100; } NumberFormat nf = new DecimalFormat("0.0 "); percentage = Double.parseDouble(nf.format(percentage)); mv.addObject("abnormalityPercentage", percentage); /*正常百分比*/ double normalPercentage = Double.parseDouble(nf.format(100.0 - percentage)); mv.addObject("normalPercentage", normalPercentage); /*根据机器类型查询机器所有工序*/ ProduceProcess produceProcess = new ProduceProcess(); produceProcess.setProduceId(produce.getProduceType()); List processList = produceService.listProduceProcess(produceProcess); mv.addObject("processList", processList); //查询第一条的工序值 默认选择第一条工序 if (processList.size() > 0) { List nodeCountList = machineService.nodeNormalByPrduceId(processList.get(0).getProcessId()); if (nodeCountList.size() > 0) { JSONObject json = new JSONObject(); StringBuffer nodeBf = new StringBuffer(); StringBuffer desBf = new StringBuffer(); for (int i = 0; i < nodeCountList.size(); i++) { nodeBf.append(nodeCountList.get(i).getNum().toString() + ","); desBf.append("\"" + nodeCountList.get(i).getNodeDes() + "\"" + ","); } String nodeString = nodeBf.toString(); String desString = desBf.toString(); mv.addObject("nodeString", "[" + nodeString.substring(0, nodeString.length() - 1) + "]"); mv.addObject("desString", "[" + desString.substring(0, desString.length() - 1) + "]"); } }else{ mv.addObject("nodeString", "[]"); mv.addObject("desString", "[]"); } //查询所有产品 List list = produceService.getProduceList(); mv.addObject("produceList", list); return mv; } /** * 根据工序id统计选项数量 * * @return * @author LJK * @date 2017年8月31日16:08:15 */ @RequiresPermissions("machine:abnormality:statistics") @ResponseBody @RequestMapping("/_node_normal") public ModelMap nodeNormal(HttpServletRequest request) { String processId = request.getParameter("processId");//工序id ModelMap mm = new ModelMap(); if (processId == null || processId.equals("")) { mm.put("returnCode", 500); return mm; } List nodeCountList = machineService.nodeNormalByPrduceId(Integer.valueOf(processId)); if (nodeCountList.size() > 0) { StringBuffer nodeBf = new StringBuffer(); StringBuffer desBf = new StringBuffer(); for (int i = 0; i < nodeCountList.size(); i++) { nodeBf.append(nodeCountList.get(i).getNum().toString() + ","); desBf.append("\"" + nodeCountList.get(i).getNodeDes() + "\"" + ","); } String nodeString = nodeBf.toString(); String desString = desBf.toString(); mm.put("returnCode", 200); mm.put("nodeString", "[" + nodeString.substring(0, nodeString.length() - 1) + "]"); mm.put("desString", "[" + desString.substring(0, desString.length() - 1) + "]"); } return mm; } private String productNfcId = "1390730000";//默认nfcId /** * 进入批量生产机器页面 * * @return * @author LJK * @date 2017年8月31日16:08:15 */ @RequiresPermissions("machine:add:batch") @RequestMapping("/_to_add_batch") public ModelAndView toAddMachineBatch() { ModelAndView mv = new ModelAndView("pts/machine/batchAddMachine"); List list = produceService.getProduceList(); mv.addObject("produceList", list); return mv; } @RequiresPermissions("machine:add:batch") @ResponseBody @RequestMapping("/_add_machine_batch") public ResponseJson addMachineBatch(HttpServletRequest request) { ResponseJson rj = new ResponseJson(); String produceId = request.getParameter("produceId");//产品ID String machineSoftwareVersion = request.getParameter("machineSoftwareVersion"); String number = request.getParameter("number"); if (produceId == null || produceId.equals("") || machineSoftwareVersion == null || machineSoftwareVersion.equals("") || number == null || number.equals("")) { rj.setReturnCode(500); return rj; } Produce produce = new Produce(); produce.setProduceId(Integer.valueOf(produceId)); produce = produceService.getProduce(produce); //根据产品获取产品信息 /*获取公众号信息*/ WechatMp wechatMp = produceService.getWechatMpById(produce.getWechatMpId()); ArrayList ptsList = new ArrayList(); //生成条形码前缀 String berQrcode = generationBarCode(produce); //获取当前月机器总数 java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM"); java.util.Date currTime = new java.util.Date(); String curTime = formatter.format(currTime); Integer machineNumber = machineService.selectMonthCount(curTime); String num = null; for (int i = 0; i < Integer.valueOf(number); i++) { machineNumber = machineNumber + i; switch (String.valueOf(machineNumber + 1).length()) { case 0: num = "0001"; break; case 1: num = "000" + String.valueOf(machineNumber); break; case 2: num = "00" + String.valueOf(machineNumber); break; case 3: num = "0" + String.valueOf(machineNumber); break; case 4: num = String.valueOf(machineNumber); break; } String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix + berQrcode); QRCJson qrc = WeixinUtil.createQrcodeByWechatMp(json,wechatMp.getWechatMpAppid(),wechatMp.getWechatMpAppsecret(),wechatMp.getWechatMpPubno()); PtsMachine ptsMachine = new PtsMachine(); ptsMachine.setMachineQrcode(qrc.getUrl());//二维码 ptsMachine.setMachineBarcode(berQrcode + num);//条形码 ptsMachine.setMachineStatus(1);//机器状态 ptsMachine.setMachineProducedTime(new Date());//生产时间 ptsMachine.setMachineIsPrint(1);//是否打印1:未打印2:已打印 ptsMachine.setMachineCompoundImg("合成的图片url"); ptsMachine.setMachineProcessState(1);//生成流程状态1.正常2.异常 ptsMachine.setMachineCreateTime(new Date());//创建时间 ptsMachine.setMachineProduceType(produce.getProduceType());//产品类型 ptsMachine.setMachineNfcId(productNfcId); ptsMachine.setMachineHardwareVersion(Integer.valueOf(machineSoftwareVersion)); ptsMachine.setMachineSoftwareVersion(Integer.valueOf(machineSoftwareVersion)); ptsMachine.setMachineProduceId(Integer.valueOf(produceId)); ptsMachine.setMachineIsRetreading(2); ptsList.add(ptsMachine); } Integer msg = machineService.addMahineBatch(ptsList); if (msg > 0) { rj.setReturnCode(200); } else { rj.setReturnCode(500); } return rj; } private String productModel = "1X";//产品型号 private String productFeatures = "A";//产品特性 private String softwareVersion = "30";//软件版本 //生成条形码 public String generationBarCode(Produce produce) { Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH) + 1; String months = String.valueOf(month); if (month < 10) { months = "0" + months; } productModel = produce.getProduceModel(); productFeatures = produce.getProduceFeature(); //拼接 String barcode = productModel + productFeatures + softwareVersion + String.valueOf(year).substring(2, 4) + months; return barcode; } /** * 进入添加翻新机界面 **/ @RequiresPermissions("machine:add:batch") @RequestMapping("/_to_add_renovation") public ModelAndView toAddRenovationMachine() { ModelAndView mv = new ModelAndView("pts/machine/addRenovationMachine"); //查询所有状态为可用的批次 List listptsBatch = ptsBatchService.listPtsBatchByStatus(); mv.addObject("listptsBatch", listptsBatch); //查询所有软件版本 PtsMachineVersion ptsMachineVersion = new PtsMachineVersion(); ptsMachineVersion.setMachineVersionType(1); List ListVersion = machineVersionService.listMachineVersion(ptsMachineVersion); mv.addObject("listVersion", ListVersion); //根据第一个批次查询所有bom if (listptsBatch.size() > 0) { PtsBom ptsBom = new PtsBom(); ptsBom.setBomId(listptsBatch.get(0).getBomId()); List listBom = ptsBomService.listBom(ptsBom); mv.addObject("listBom", listBom); } return mv; } /** * 根据产品id获取所有bom **/ @ResponseBody @RequiresPermissions("machine:add:batch") @RequestMapping("/select_bom") public ResponseJson selectBatchByProduceId(HttpServletRequest request, Integer batchId) { ResponseJson rj = new ResponseJson(); if (batchId == null || batchId.equals("")) { rj.setReturnCode(500); return rj; } PtsBatch ptsBatch = new PtsBatch(); ptsBatch.setBatchId(batchId); ptsBatch = ptsBatchService.getPtsBatch(ptsBatch); PtsBom ptsBom = new PtsBom(); ptsBom.setBomId(ptsBatch.getBomId()); List listBom = ptsBomService.listBom(ptsBom); rj.addResponseKeyValue("listBom", listBom); rj.setReturnCode(200); return rj; } /** * 添加翻新机 **/ @ResponseBody @RequiresPermissions("machine:add:batch") @RequestMapping("/add_renovationMachine") public ResponseJson addRenovationMachine(HttpServletRequest request, Integer batchId, Integer versionId, Integer bomId, Integer number,Integer isRefurbishment,String machineLine) { ResponseJson rj = new ResponseJson(); if (batchId == null || versionId == null || bomId == null || isRefurbishment == null || machineLine == null) { rj.setReturnCode(500); return rj; } PtsBatch ptsBatch = new PtsBatch(); ptsBatch.setBatchId(batchId); ptsBatch = ptsBatchService.getPtsBatch(ptsBatch); Produce produce = new Produce(); produce.setProduceId(ptsBatch.getProduceId()); produce = produceService.getProduce(produce); PtsBom ptsBom = new PtsBom(); ptsBom.setBomId(bomId); ptsBom = ptsBomService.getPtsBom(ptsBom); if (number == null || number < 1) { number = ptsBatch.getBatchQuantity(); } /*获取公众号信息*/ WechatMp wechatMp = produceService.getWechatMpById(produce.getWechatMpId()); ArrayList ptsList = new ArrayList(); //生成条形码前缀 String berQrcode = generationBarCode(produce); //获取当前月机器总数 java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM"); java.util.Date currTime = new java.util.Date(); String curTime = formatter.format(currTime); Integer machineNumber = machineService.selectMonthCount(curTime); String num = null; for (int i = 0; i < number; i++) { machineNumber++; switch (String.valueOf(machineNumber).length()) { case 0: num = "0001"; break; case 1: num = "000" + String.valueOf(machineNumber); break; case 2: num = "00" + String.valueOf(machineNumber); break; case 3: num = "0" + String.valueOf(machineNumber); break; case 4: num = String.valueOf(machineNumber); break; } String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix + berQrcode); QRCJson qrc = WeixinUtil.createQrcodeByWechatMp(json,wechatMp.getWechatMpAppid(),wechatMp.getWechatMpAppsecret(),wechatMp.getWechatMpPubno()); PtsMachine ptsMachine = new PtsMachine(); ptsMachine.setMachineQrcode(qrc.getUrl());//二维码 ptsMachine.setMachineBarcode(berQrcode + num);//条形码 ptsMachine.setMachineStatus(1);//机器状态 ptsMachine.setMachineProducedTime(new Date());//生产时间 ptsMachine.setMachineIsPrint(1);//是否打印1:未打印2:已打印 ptsMachine.setMachineCompoundImg("合成的图片url"); ptsMachine.setMachineProcessState(1);//生成流程状态1.正常2.异常 ptsMachine.setMachineCreateTime(new Date());//创建时间 ptsMachine.setMachineProduceType(produce.getProduceType());//产品类型 ptsMachine.setMachineNfcId(productNfcId); //ptsMachine.setMachineHardwareVersion(ptsBom.getBomId()); ptsMachine.setMachineSoftwareVersion(ptsBatch.getBatchSoftwareVersionId()); ptsMachine.setMachineProduceId(produce.getProduceId()); ptsMachine.setMachineIsRetreading(isRefurbishment); ptsMachine.setMachineBatchId(batchId); ptsMachine.setMachineBomId(bomId); ptsMachine.setMachineLine(machineLine); ptsList.add(ptsMachine); } Integer msg = machineService.addMahineBatch(ptsList); if (msg > 0) { rj.setReturnCode(200); } else { rj.setReturnCode(500); } return rj; } /** * 出库页面获取 **/ @RequiresPermissions("machine:delivery:machine") @RequestMapping("/to_delivery") public ModelAndView toDelivery(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView("wap/pts/machine_delivery"); return modelAndView; } /** * 出库页面获取销售公司集合 **/ @ResponseBody @RequiresPermissions("machine:delivery:machine") @RequestMapping("/list_delivery") public ResponseJson listDelivery(HttpServletRequest request) { PtsSalesCompany ptsSalesCompany = new PtsSalesCompany(); List ptsSalesCompanyList = ptsSalesCompanyService.listPtsSalesCompany(ptsSalesCompany); if(ptsSalesCompanyList == null || ptsSalesCompanyList.size() < 1){ ResponseJson rj = new ResponseJson(500, "未查询出销售公司,请到后台添加销售公司信息", 500); rj.addResponseKeyValue("ptsSalesCompanyList", ptsSalesCompanyList); return rj; } ResponseJson rj = new ResponseJson(200, "SUCCESS", 200); rj.addResponseKeyValue("ptsSalesCompanyList", ptsSalesCompanyList); return rj; } /** * 出库录入 */ @ResponseBody @RequiresPermissions("machine:delivery:machine") @RequestMapping("/machine_delivery") public ResponseJson machineDelivery(HttpServletRequest request, PtsMachine ptsMachine) { if (ptsMachine == null || ptsMachine.getMachineBarcode() == null || ptsMachine.getMachineSalesDate() == null || ptsMachine.getMachineSalesCompanyId() == null) { ResponseJson rj = new ResponseJson(500, "ERROR", 500); rj.setResultMsg("信息不全"); return rj; } PtsMachine machine = new PtsMachine(); machine.setMachineBarcode(ptsMachine.getMachineBarcode()); //判断机器是否已经出过库了 List listPtsMachine = machineService.listMachineWebApp(machine); if(listPtsMachine != null && listPtsMachine.size() > 0){ PtsMachine ma = listPtsMachine.get(0); if(ma.getMachineSalesState() == 1){ ResponseJson rj = new ResponseJson(501, "ERROR", 501); rj.setResultMsg("该机器已经出库了"); return rj; } }else{ ResponseJson rj = new ResponseJson(501, "ERROR", 501); rj.setResultMsg("未查询到该机器"); return rj; } machine.setMachineSalesDate(ptsMachine.getMachineSalesDate()); machine.setMachineSalesCompanyId(ptsMachine.getMachineSalesCompanyId()); machine.setMachineSalesState(1); //设置状态为已售出 int flag = machineService.updateMachineSalesInfo(machine); if(flag < 1){ ResponseJson rj = new ResponseJson(500, "ERROR", 500); rj.setResultMsg("录入出库信息失败"); return rj; } ResponseJson rj = new ResponseJson(200, "SUCCESS", 200); rj.setResultMsg("录入出库信息成功"); return rj; } /** * 出库列表 */ @ResponseBody @RequiresPermissions("machine:delivery:machine") @RequestMapping("/to_list_delivery") public ResponseJson listDeliveryPtsMachine(HttpServletRequest request, PtsMachine ptsMachine) { ptsMachine.setMachineSalesState(1); List listPtsMachine = machineService.listMachineWebApp(ptsMachine); if(listPtsMachine == null || listPtsMachine.size() <1){ ResponseJson rj = new ResponseJson(500, "ERROR", 500); rj.setResultMsg("未查询到机器信息"); return rj; } ResponseJson rj = new ResponseJson(200, "SUCCESS", 200); rj.addResponseKeyValue("listPtsMachine",listPtsMachine); rj.setResultMsg(""); return rj; } /** * 今日出库台数 */ @ResponseBody @RequiresPermissions("machine:delivery:machine") @RequestMapping("/delivery_desc") public ResponseJson deliveryDesc(HttpServletRequest request, PtsMachine ptsMachine) { List list = new ArrayList(); //获取产品集合 List produceList = produceService.getProduceList(); for(Produce produce : produceList){ Map map = new HashMap(); ptsMachine.setMachineProduceId(produce.getProduceId()); Integer machineNumber = machineService.machineNumberWebApp(ptsMachine); map.put("name",produce.getProduceName()); map.put("number",machineNumber); list.add(map); } ResponseJson rj = new ResponseJson(200, "SUCCESS", 200); rj.addResponseKeyValue("machineNumber",list); rj.setResultMsg(""); return rj; } /** * 取消出库 */ @ResponseBody @RequiresPermissions("machine:delivery:machine") @RequestMapping("/cancel_warehouse") public ResponseJson cancelWarehouse(HttpServletRequest request, PtsMachine ptsMachine) { if (ptsMachine == null || ptsMachine.getMachineBarcode() == null) { ResponseJson rj = new ResponseJson(500, "ERROR", 500); rj.setResultMsg("取消出库操作失败"); return rj; } PtsMachine machine = new PtsMachine(); machine.setMachineBarcode(ptsMachine.getMachineBarcode()); machine.setMachineSalesDate(null); machine.setMachineSalesCompanyId(null); machine.setMachineSalesState(2); //设置状态为未售出 int flag = machineService.updateMachineSalesInfo(machine); if(flag < 1){ ResponseJson rj = new ResponseJson(500, "ERROR", 500); rj.setResultMsg("取消出库操作失败"); return rj; } ResponseJson rj = new ResponseJson(200, "SUCCESS", 200); rj.setResultMsg("取消出库操作成功"); return rj; } }