123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011 |
- 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.QrCodeUtil;
- 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.context.ContextLoader;
- import org.springframework.web.context.WebApplicationContext;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.ServletContext;
- import javax.servlet.http.HttpServletRequest;
- import javax.xml.crypto.Data;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- import java.util.*;
- import static com.iamberry.rst.util.SmsConfig.scanningQrCode;
- /**
- * 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());
- }
- if (ptsMachine.getMachineProduceType() != null && ptsMachine.getMachineProduceType() != -1) {
- sb.append("&machineProduceType=");
- sb.append(ptsMachine.getMachineProduceType());
- mv.addObject("machineProduceType", ptsMachine.getMachineProduceType());
- }
- PageRequest<PtsMachine> pageRequest = new PageRequest<PtsMachine>(ptsMachine, pageNO, pageSize, pageTotal == null);
- PagedResult<PtsMachine> pagedResult = machineService.listMachinePge(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:latest_all:machine")
- @ResponseBody
- @RequestMapping("/_LatestTooth_list")
- public List<PtsMachine> listLatestTooth(HttpServletRequest request) {
- String machineId = request.getParameter("machineId");
- if (machineId == null || machineId.equals("")) {
- return null;
- }
- return machineService.listLatestTooth(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);
- ptsMachine.setMachineProduceType(0);
- 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;
- }
- /**
- * 查询电动牙刷打印列表
- *
- * @return
- * @author LJK
- * @date 2017年8月31日16:08:15
- */
- @RequiresPermissions("machine:select_all:machine")
- @RequestMapping("/_tooth_print_list")
- public ModelAndView listPrintTooth(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/tooth_print_List");
- mv.addObject("machineIsPrint", ptsMachine.getMachineIsPrint() == null ? "1" : String.valueOf(ptsMachine.getMachineIsPrint()));
- StringBuilder sb = new StringBuilder("/admin/machine/_tooth_print_list?pageSize=" + pageSize);
- if (ptsMachine == null || ptsMachine.getMachineIsPrint() == null || ptsMachine.getMachineIsPrint() == 1) { //未打印
- List<PtsMachine> machineList = machineService.listPrintOrderTooth(ptsMachine);
- mv.addObject("machineList", machineList);
- } else { //已打印
- PagedResult<PtsMachine> pagedResult = machineService.getPrintOrderToothList(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.maxToothId();
- 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());
- ptsMachineStatistics.setProduceId(String.valueOf(produce.getProduceId()));
- //查询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,produce.getProduceId());
- Calendar nowDate = Calendar.getInstance();
- Integer year = nowDate.get(Calendar.YEAR);
- Integer month = nowDate.get(Calendar.MONTH) + 1;
- if(year == 2017 && month == 12){
- machineNumber += 300;
- }
- String num = null;
- for (int i = 0; i < Integer.valueOf(number); i++) {
- machineNumber = machineNumber + i;
- switch (String.valueOf(machineNumber).length()) {
- case 0:
- num = "00001";
- break;
- case 1:
- num = "0000" + String.valueOf(machineNumber);
- break;
- case 2:
- num = "000" + String.valueOf(machineNumber);
- break;
- case 3:
- num = "00" + String.valueOf(machineNumber);
- break;
- case 4:
- num = "00" + String.valueOf(machineNumber);
- break;
- case 5:
- num = String.valueOf(machineNumber);
- break;
- }
- String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix + berQrcode + num);
- 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 producePattern = "WA";//产品型号
- private String productModel = "1X";//产品型号
- private String productFeatures = "A";//产品特性
- private String softwareVersion = "30";//软件版本
- private String productBrand = "";//品牌字母
- //生成条形码
- 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;
- }
- producePattern = produce.getProducePattern();
- productModel = produce.getProduceModel();
- productFeatures = produce.getProduceFeature();
- productBrand = produce.getProduceBrand();
- //拼接
- String barcode = productBrand+producePattern + productModel + productFeatures + 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<Produce> produceList = produceService.getProduceList();
- mv.addObject("produceList", produceList);
- for(int i=0;i<produceList.size();i++){
- Integer produceId = produceList.get(i).getProduceId();
- PtsBatch ptsBatch = ptsBatchService.getUseBatch(produceId);
- produceList.get(i).setPtsBatch(ptsBatch);
- }
- 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 number,Integer isRefurbishment,String machineLine) {
- ResponseJson rj = new ResponseJson();
- if (batchId == 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);
- Integer productId = produce.getProduceId();
- Integer productType = produce.getProduceType();
- Integer bomId = ptsBatch.getBomId();
- PtsBom ptsBom = new PtsBom();
- ptsBom.setBomId(bomId);
- ptsBom = ptsBomService.getPtsBom(ptsBom);
- if (number == null || number < 1) {
- number = ptsBatch.getBatchQuantity();
- }
- 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,productId);
- Calendar nowDate = Calendar.getInstance();
- Integer year = nowDate.get(Calendar.YEAR);
- Integer month = nowDate.get(Calendar.MONTH) + 1;
- String num = null;
- for (int i = 0; i < number; i++) {
- machineNumber++;
- String qrCodeUrl = null;
- //判断机器是水机or牙刷
- if(productType == 3){
- switch (String.valueOf(machineNumber).length()) {
- case 0:
- num = "00001";
- break;
- case 1:
- num = "0000" + String.valueOf(machineNumber);
- break;
- case 2:
- num = "000" + String.valueOf(machineNumber);
- break;
- case 3:
- num = "00" + String.valueOf(machineNumber);
- break;
- case 4:
- num = "0" + String.valueOf(machineNumber);
- break;
- case 5:
- num = String.valueOf(machineNumber);
- break;
- }
- //获取项目地址
- WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
- ServletContext servletContext = webApplicationContext.getServletContext();
- String realPath = servletContext.getRealPath(ResultInfo.QRCODE_TOOTH_IMAGE);
- try {
- QrCodeUtil.createQrCode(scanningQrCode+berQrcode+num,realPath+"/"+berQrcode+num+".",430,430);
- StringBuffer url = request.getRequestURL();
- //String tempContextUrl = url.delete(url.length() - request.getRequestURI().length(), url.length()).append(request.getContextPath()).append("/").toString();
- String tempContextUrl = ResultInfo.ROOT_DIRECTORY;
- qrCodeUrl = tempContextUrl +ResultInfo.QRCODE_TOOTH_IMAGE+ "/"+berQrcode+num+".png";
- }catch (Exception e){
- e.printStackTrace();
- }
- }else{
- 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;
- }
- /*获取公众号信息*/
- WechatMp wechatMp = produceService.getWechatMpById(produce.getWechatMpId());
- String json = String.format(NameUtils.QR_LIMIT_STR_SCENE, ResultInfo.barCodePrefix + berQrcode + num);
- QRCJson qrc = WeixinUtil.createQrcodeByWechatMp(json,wechatMp.getWechatMpAppid(),wechatMp.getWechatMpAppsecret(),wechatMp.getWechatMpPubno());
- qrCodeUrl = qrc.getUrl();
- }
- PtsMachine ptsMachine = new PtsMachine();
- ptsMachine.setMachineQrcode(qrCodeUrl);//二维码
- 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(productType);//产品类型
- 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;
- }
- /**
- * 查询机器
- */
- @ResponseBody
- @RequiresPermissions("machine:delivery:machine")
- @RequestMapping("/get_machine_app")
- public ResponseJson getMachineApp(HttpServletRequest request, String machineQrcode) {
- if (machineQrcode == null || "".equals(machineQrcode)) {
- ResponseJson rj = new ResponseJson(500, "ERROR", 500);
- rj.setResultMsg("未查询到机器");
- return rj;
- }
- PtsMachine ptsMachine = machineService.getMachineAppByQrcode(machineQrcode);
- System.out.println(machineQrcode + "--" + ptsMachine.getMachineBarcode());
- if(ptsMachine!=null){
- ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
- rj.addResponseKeyValue("machineBarcode",ptsMachine.getMachineQrcode());
- rj.setResultMsg("查询成功");
- return rj;
- }
- ResponseJson rj = new ResponseJson(500, "ERROR", 500);
- rj.setResultMsg("未查询到机器");
- return rj;
- }
- @ResponseBody
- @RequiresPermissions("machine:select_all:machine")
- @RequestMapping("/select_Batch")
- public ResponseJson selectBatch(HttpServletRequest request,Integer productId){
- ResponseJson responseJson = new ResponseJson();
- if(productId == null){
- responseJson = new ResponseJson(500, "ERROR", 500);
- return responseJson;
- }
- PtsBatch ptsBatch = new PtsBatch();
- ptsBatch.setProduceId(productId);
- List<PtsBatch> listptsBatch = ptsBatchService.listPtsBatch(ptsBatch);
- ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
- rj.addResponseKeyValue("listptsBatch",listptsBatch);
- return rj;
- }
- }
|