|
@@ -1,837 +1,39 @@
|
|
|
package com.iamberry.rst.controllers.cm;
|
|
|
|
|
|
-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.
|
|
|
+ * Created by wxm on 2017/8/29.
|
|
|
*/
|
|
|
@Controller
|
|
|
-@RequestMapping("/admin/machine")
|
|
|
+@RequestMapping("/admin/customer")
|
|
|
public class AdminCustomerController {
|
|
|
|
|
|
- @Autowired
|
|
|
- private MachineService machineService;
|
|
|
+ // private
|
|
|
|
|
|
- @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;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 打印列表查询所有机器
|
|
|
+ * 跳转到添加bom单页面
|
|
|
*
|
|
|
* @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);
|
|
|
- }
|
|
|
+ @RequiresPermissions("customer:add:customer")
|
|
|
+ @RequestMapping(value = "/to_add_customer")
|
|
|
+ public ModelAndView toAddBom(HttpServletRequest request) {
|
|
|
+ ModelAndView mv = new ModelAndView("cm/customer/add_customer");
|
|
|
|
|
|
- //获取销售公司
|
|
|
- PtsSalesCompany ptsSalesCompany = new PtsSalesCompany();
|
|
|
- if(ptsMachine != null && ptsMachine.getMachineSalesState() == 1 && ptsMachine.getMachineSalesCompanyId() != null){
|
|
|
- ptsSalesCompany.setSalesCompanyId(ptsMachine.getMachineSalesCompanyId());
|
|
|
- ptsSalesCompany = ptsSalesCompanyService.getPtsSalesCompany(ptsSalesCompany);
|
|
|
- }
|
|
|
+ //获取产品集合,用于页面选择产品
|
|
|
+// List<Produce> produceList = produceService.getProduceList();
|
|
|
|
|
|
- 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);
|
|
|
+// mv.addObject("produceList", produceList);
|
|
|
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); //根据产品获取产品信息
|
|
|
-
|
|
|
- ArrayList<PtsMachine> ptsList = new ArrayList<PtsMachine>();
|
|
|
- //生成条形码前缀
|
|
|
- String berQrcode = generationBarCode(produce);
|
|
|
- //获取当前月机器总数
|
|
|
- java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM");
|
|
|
- Date currTime = new 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.createQrcode(json);
|
|
|
- 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();
|
|
|
- }
|
|
|
- ArrayList<PtsMachine> ptsList = new ArrayList<PtsMachine>();
|
|
|
- //生成条形码前缀
|
|
|
- String berQrcode = generationBarCode(produce);
|
|
|
- //获取当前月机器总数
|
|
|
- java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM");
|
|
|
- Date currTime = new 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.createQrcode(json);
|
|
|
- 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;
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|