123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332 |
- package com.iamberry.rst.controllers.pts;
- import com.iamberry.rst.core.page.PagedResult;
- import com.iamberry.rst.core.pts.*;
- import com.iamberry.rst.faces.pts.MachineVersionService;
- import com.iamberry.rst.faces.pts.ProduceService;
- import com.iamberry.rst.faces.pts.PtsBatchService;
- import com.iamberry.rst.faces.pts.PtsBomService;
- import com.iamberry.rst.utils.StitchAttrUtil;
- import com.iamberry.wechat.tools.ObjectExcelView;
- import com.iamberry.wechat.tools.ResponseJson;
- import net.sf.json.JSONArray;
- import org.apache.shiro.authz.annotation.Logical;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- 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.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * 批次管理controller
- *
- * @author wxm
- */
- @Controller
- @RequestMapping("/admin/batch")
- public class AdminPtsBatchController {
- @Autowired
- private PtsBatchService ptsBatchService;
- @Autowired
- private ProduceService produceService;
- @Autowired
- private PtsBomService ptsBomService;
- @Autowired
- private MachineVersionService machineVersionService;
- private String[] BATCH_COLOR = {"黑色","白色","金色","红色","蓝色","绿色","橙色","黄色","青色","紫色","粉色","蔷薇粉","云烟紫","琉璃绿","亚麻灰"};
- /**
- * 获取batch列表
- *
- * @param request
- * @return
- */
- @RequiresPermissions("batch:select:list")
- @RequestMapping("/_batch_list")
- public ModelAndView getPtsBatch(HttpServletRequest request, PtsBatch ptsBatch,
- @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/batch/batch_list");
- PagedResult<PtsBatch> pagedResult = ptsBatchService.listPtsBatchPage(pageNO, pageSize, ptsBatch, totalNum == 0);
- if (totalNum != 0) {
- pagedResult.setTotal(totalNum);
- }
- StitchAttrUtil.getSa().setModelAndView(ptsBatch, mv, "/admin/batch/_batch_list", pagedResult);;
- //获取产品集合,用于页面选择产品
- List<Produce> list = produceService.getProduceList();
- mv.addObject("produceList", list);
- return mv;
- }
- /**
- * 跳转到添加batch页面
- *
- * @return
- */
- @RequiresPermissions("batch:add:batch")
- @RequestMapping(value = "/to_add_batch")
- public ModelAndView toAddbatch(HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("pts/batch/add_batch");
- //获取产品集合,用于页面选择产品
- List<Produce> produceList = produceService.getProduceList();
- mv.addObject("bacthColor", BATCH_COLOR);
- mv.addObject("produceList", produceList);
- return mv;
- }
- /**
- * 添加batch
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions("batch:add:batch")
- @RequestMapping(value = "/save_batch")
- public ResponseJson saveBatch(PtsBatch ptsBatch, HttpServletRequest request) {
- if (!this.isValiData(ptsBatch) ) {
- return new ResponseJson(500, "请检查表单,再次提交", 500);
- }
- Integer flag = ptsBatchService.savePtsBatch(ptsBatch);
- if (flag < 1) {
- return new ResponseJson(500, "添加失败", 500);
- } else {
- return new ResponseJson(200, "添加成功", 200);
- }
- }
- /**
- * 列表,修改批次状态
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions("batch:select:list")
- @RequestMapping(value = "/update_batch_status")
- public ResponseJson updateBatchStatus(Integer batchId, Integer batchStatus,Integer produceId) {
- PtsBatch ptsBatch = new PtsBatch();
- if(batchId == null || batchStatus == null || produceId == null){
- return new ResponseJson(500, "修改失败", 500);
- }
- ptsBatch.setBatchId(batchId);
- ptsBatch.setBatchStatus(batchStatus);
- ptsBatch.setProduceId(produceId);
- Integer flag = ptsBatchService.updatePtsBatch(ptsBatch);
- if (flag < 1) {
- return new ResponseJson(500, "修改失败", 500);
- } else {
- return new ResponseJson(200, "修改成功", 200);
- }
- }
- /**
- * 获取版本,根据produce
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions(value = {"batch:add:batch", "batch:update:batch"}, logical = Logical.OR)
- @RequestMapping(value = "/get_version")
- public ResponseJson getVersion(HttpServletRequest request) {
- String produceId = request.getParameter("produceId");
- if (produceId == null || "".equals(produceId)) {
- return new ResponseJson(500, "ERROR", 500);
- }
- PtsMachineVersion ptsMachineVersion = new PtsMachineVersion();
- ptsMachineVersion.setProduceId(Integer.valueOf(produceId));
- List<PtsMachineVersion> ptsMachineVersionList = machineVersionService.listMachineVersion(ptsMachineVersion);
- if (ptsMachineVersionList != null) {
- ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
- rj.addResponseKeyValue("ptsMachineVersionList", ptsMachineVersionList);
- return rj;
- } else {
- return new ResponseJson(500, "ERROR", 500);
- }
- }
- /**
- * 获取单个批次
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions(value = {"batch:add:batch", "batch:update:batch"}, logical = Logical.OR)
- @RequestMapping(value = "/is_valiBatchNo")
- public ResponseJson getIsValiBatchNo(HttpServletRequest request) {
- String batchNo = request.getParameter("batchNo");
- if (batchNo == null || "".equals(batchNo)) {
- return new ResponseJson(500, "未获取到批次编号", 500);
- }
- PtsBatch ptsBatch = new PtsBatch();
- ptsBatch.setBatchNo(batchNo);
- ptsBatch = ptsBatchService.getPtsBatch(ptsBatch);
- ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
- rj.addResponseKeyValue("ptsBatch", ptsBatch);
- return rj;
- }
- /***
- * 验证信息
- * @param ptsBatch
- * @return
- */
- private boolean isValiData(PtsBatch ptsBatch) {
- boolean flag = true;
- if(ptsBatch.getBatchNo() == null || ptsBatch.getBatchNo().length() >= 20){
- return false;
- }
- if (ptsBatch.getBatchQuantity() == null || ptsBatch.getBatchQuantity() == 0){
- return false;
- }
- if (ptsBatch.getBomId() == null){
- return false;
- }
- if (ptsBatch.getProduceId() == null){
- return false;
- }
- // if (ptsBatch.getBatchSoftwareVersionId() == null){
- // return false;
- // }
- if (ptsBatch.getBatchStatus() == null){
- return false;
- }
- return flag;
- }
- /**
- * 跳转到修改批次页面
- *
- * @return
- */
- @RequiresPermissions("batch:update:batch")
- @RequestMapping(value = "/to_update_batch")
- public ModelAndView toUpdateBatch(Integer batchId, HttpServletRequest request) {
- ModelAndView mv = new ModelAndView("pts/batch/update_batch");
- PtsBatch ptsBatch = new PtsBatch();
- ptsBatch.setBatchId(batchId);
- ptsBatch = ptsBatchService.getPtsBatch(ptsBatch);
- //颜色集合
- JSONArray jsonArray = JSONArray.fromObject(ptsBatch.getBatchColorQuantity());
- List<PtsBatchColor> ptsBatchColorList = (List) JSONArray.toCollection(jsonArray, PtsBatchColor.class);
- ptsBatch.setPtsBatchColorList(ptsBatchColorList);
- //bom单
- PtsBom ptsBom = new PtsBom();
- //ptsBom.setProduceId(ptsBatch.getProduceId());
- List<PtsBom> ptsBomsList = ptsBomService.listBom(ptsBom);
- //版本
- PtsMachineVersion ptsMachineVersion = new PtsMachineVersion();
- ptsMachineVersion.setProduceId(ptsBatch.getProduceId());
- List<PtsMachineVersion> ptsMachineVersionList = machineVersionService.listMachineVersion(ptsMachineVersion);
- //获取产品集合,用于页面选择产品
- List<Produce> produceList = produceService.getProduceList();
- mv.addObject("ptsBatch", ptsBatch);
- mv.addObject("ptsBomsList", ptsBomsList);
- mv.addObject("produceList", produceList);
- mv.addObject("ptsMachineVersionList", ptsMachineVersionList);
- mv.addObject("batchColor", BATCH_COLOR);
- return mv;
- }
- /**
- * 修改批次
- *
- * @return
- */
- @ResponseBody
- @RequiresPermissions("batch:add:batch")
- @RequestMapping(value = "/update_batch")
- public ResponseJson updateBatch(PtsBatch ptsBatch, String batchColorJson, HttpServletRequest request) {
- if (!this.isValiData(ptsBatch) ) {
- return new ResponseJson(500, "请检查表单,再次提交", 500);
- }
- Integer flag = ptsBatchService.updatePtsBatch(ptsBatch);
- if (flag < 1) {
- return new ResponseJson(500, "修改失败", 500);
- } else {
- return new ResponseJson(200, "修改成功", 200);
- }
- }
- /**
- * 批次 -- excel导出
- *
- * @return
- */
- @RequestMapping(value = "/generation_excel")
- public ModelAndView generationExcel(HttpServletRequest request) throws Exception{
- // 准备model
- Map<String, Object> model = new HashMap<String, Object>();
- model.put("fileName", "批次列表"); // 下载文件名称
- // 标题
- List<String> titles = new ArrayList<String>();
- titles.add("所属产品");
- titles.add("批次编号");
- titles.add("总数量");
- titles.add("已生产数量");
- titles.add("状态");
- titles.add("软件版本");
- titles.add("Bom单名称");
- titles.add("创建时间");
- model.put("titles", titles);
- PtsBatch ptsBatch = new PtsBatch();
- List<List<Object>> countexts = new ArrayList<List<Object>>();
- List<PtsBatch> list = ptsBatchService.listPtsBatch(ptsBatch);
- for (PtsBatch info : list) {
- List<Object> row = new ArrayList<Object>();
- row.add(info.getProduceName() == null ? null:info.getProduceName());
- row.add(info.getBatchNo() == null ? null:info.getBatchNo());
- row.add(info.getBatchQuantity() == null ? null:info.getBatchQuantity());
- row.add(info.getGeneratedQuantity() == null ? null:info.getGeneratedQuantity());
- row.add(info.getBatchStatus() == 0 ? "停止使用":"正常使用");
- row.add(info.getSoftwareVersionNo() == null ? null:info.getSoftwareVersionNo());
- row.add(info.getBomName() == null ? null:info.getBomName());
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String time = formatter.format(info.getBatchCreateTime());
- row.add(time);
- countexts.add(row);
- }
- model.put("varList", countexts);
- ObjectExcelView erv = new ObjectExcelView();
- ModelAndView mv = new ModelAndView(erv,model);
- return mv;
- }
- }
|