123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844 |
- 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<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 == 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<PtsMachine> 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<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;
- }
- /**
- * 查询机器关联的产品信息
- *
- * @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<PtsMachine> 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<PtsMachineLogs> 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<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) + "]");
- }else{
- mv.addObject("years", "[]");
- }
- //查询最近七天生产机器
- 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) + "]");
- }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<ProduceProcess> processList = produceService.listProduceProcess(produceProcess);
- mv.addObject("processList", processList);
- //查询第一条的工序值 默认选择第一条工序
- if (processList.size() > 0) {
- 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) + "]");
- }
- }else{
- mv.addObject("nodeString", "[]");
- mv.addObject("desString", "[]");
- }
- //查询所有产品
- List<Produce> 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<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;
- }
- 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<Produce> 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<PtsMachine> ptsList = new ArrayList<PtsMachine>();
- //生成条形码前缀
- 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<PtsBatch> listptsBatch = ptsBatchService.listPtsBatchByStatus();
- mv.addObject("listptsBatch", listptsBatch);
- //查询所有软件版本
- PtsMachineVersion ptsMachineVersion = new PtsMachineVersion();
- ptsMachineVersion.setMachineVersionType(1);
- List<PtsMachineVersion> ListVersion = machineVersionService.listMachineVersion(ptsMachineVersion);
- mv.addObject("listVersion", ListVersion);
- //根据第一个批次查询所有bom
- if (listptsBatch.size() > 0) {
- PtsBom ptsBom = new PtsBom();
- ptsBom.setBomId(listptsBatch.get(0).getBomId());
- List<PtsBom> 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<PtsBom> 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<PtsMachine> ptsList = new ArrayList<PtsMachine>();
- //生成条形码前缀
- 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<PtsSalesCompany> 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<PtsMachine> 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<PtsMachine> 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<Map> list = new ArrayList<Map>();
- //获取产品集合
- List<Produce> produceList = produceService.getProduceList();
- for(Produce produce : produceList){
- Map<String,Object> map = new HashMap<String,Object>();
- 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;
- }
- }
|