123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343 |
- package com.iamberry.rst.controllers.pts;
- import com.iamberry.rst.core.order.Order;
- import com.iamberry.rst.core.order.RentType;
- import com.iamberry.rst.core.page.PageRequest;
- import com.iamberry.rst.core.page.PagedResult;
- import com.iamberry.rst.core.pts.PtsEmployee;
- import com.iamberry.rst.core.pts.ProduceProcess;
- import com.iamberry.rst.core.pts.PtsMachine;
- import com.iamberry.rst.core.pts.PtsMachineLogs;
- import com.iamberry.rst.core.pts.PtsMachineStatistics;
- import com.iamberry.rst.faces.pts.*;
- import com.iamberry.wechat.tools.ResponseJson;
- 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.text.SimpleDateFormat;
- 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;
- /**
- * 查询机器列表
- * @author LJK
- * @date 2017年8月31日16:08:15
- * @param pageSize
- * @param pageNO
- * @return
- */
- @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<PtsMachine> pageRequest = new PageRequest<PtsMachine>(ptsMachine, pageNO, pageSize, pageTotal == null);
- PagedResult<PtsMachine> 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);
- 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<PtsMachine> listLatestMachine(HttpServletRequest request){
- String machineId = request.getParameter("machineId");
- if(machineId == null){
- 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);
- }
- /**
- * 查询机器打印列表
- * @author LJK
- * @date 2017年8月31日16:08:15
- * @return
- */
- @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":ptsMachine.getMachineIsPrint());
- StringBuilder sb = new StringBuilder("/admin/machine/_machine_print_list?pageSize=" + pageSize);
- if(ptsMachine == null || ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1){ //未打印
- List<PtsMachine> machineList = machineService.listPrintOrder(ptsMachine);
- mv.addObject("machineList",machineList);
- }else{ //已打印
- PagedResult<PtsMachine> 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;
- }
- /**
- * 打印列表查询所有机器
- * @author LJK
- * @date 2017年8月31日16:08:15
- * @return
- */
- @ResponseBody
- @RequiresPermissions("machine:select_all:machine")
- @RequestMapping("/machine_print_list")
- public List<PtsMachine> selectPrintMachine(PtsMachine ptsMachine){
- return machineService.listPrintOrder(ptsMachine);
- }
- /**
- * 查询机器生成流程
- * @author LJK
- * @date 2017年8月31日16:08:15
- * @return
- */
- @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<PtsMachineLogs> machineLogsList = machineService.listMachineLogs(machineId);
- 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);
- }
- /**
- * 查询机器打印列表
- * @author LJK
- * @date 2017年8月31日16:08:15
- * @return
- */
- @RequiresPermissions("machine:abnormality:statistics")
- @RequestMapping("/_produced_abnormality_statistics")
- public ModelAndView producedAbnormalityStatistics(HttpServletRequest request,PtsMachine ptsMachine){
- ModelAndView mv = new ModelAndView("pts/machine/producedAbnormalityStatistics");
- String machineType = request.getParameter("machineType");//1.净水机 2.冲奶机
- if(machineType == null || machineType.equals("")){
- machineType = "1";
- }
- mv.addObject("machineType",machineType);
- PtsMachineStatistics ptsMachineStatistics = new PtsMachineStatistics();
- Calendar date = Calendar.getInstance();
- String year = String.valueOf(date.get(Calendar.YEAR));//年
- ptsMachineStatistics.setYear(year);
- ptsMachineStatistics.setMachineType(Integer.valueOf(machineType));
- //查询1-12月每月生产机器数
- List<PtsMachineStatistics> 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)+"]");
- }
- //查询最近七天生产机器
- List<PtsMachineStatistics> 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)+"]");
- }
- /*机器总数及流程异常数*/
- PtsMachineStatistics numbers = machineService.flowAbnormality(ptsMachineStatistics);
- /*机器总数*/
- mv.addObject("machineNum", numbers.getMachineCount());
- /*机器异常总数*/
- mv.addObject("machineAbnormality", numbers.getMachineAbnormality());
- /*流程异常百分比*/
- double percentage = (numbers.getMachineAbnormality() == null? 0.0 : (double)numbers.getMachineAbnormality()) / (numbers.getMachineCount() == null? 0.0:(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(machineType.equals("1")? 1:2);
- List<ProduceProcess> processList = produceService.listProduceProcess(produceProcess);
- mv.addObject("processList",processList);
- //查询第一条的工序值 默认选择第一条工序
- List<PtsMachineStatistics> 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)+"]");
- }
- return mv;
- }
- /**
- * 根据工序id统计选项数量
- * @author LJK
- * @date 2017年8月31日16:08:15
- * @return
- */
- @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<PtsMachineStatistics> 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;
- }
- }
|