| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- package com.jeesite.modules.mes.web;
- import java.util.List;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import org.springframework.web.multipart.MultipartFile;
- import com.jeesite.common.config.Global;
- import com.jeesite.common.collect.ListUtils;
- import com.jeesite.common.entity.Page;
- import com.jeesite.common.lang.DateUtils;
- import com.jeesite.common.lang.StringUtils;
- import com.jeesite.common.utils.excel.ExcelExport;
- import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
- import com.jeesite.common.web.BaseController;
- import com.jeesite.modules.mes.entity.MesLine;
- import com.jeesite.modules.mes.entity.MesLineProcess;
- import com.jeesite.modules.mes.entity.MesStationPiecePrice;
- import com.jeesite.modules.mes.service.MesLineProcessService;
- import com.jeesite.modules.mes.service.MesLineService;
- import com.jeesite.modules.mes.service.MesStationPiecePriceService;
- /**
- * 工位计件单价Controller
- */
- @Controller
- @RequestMapping(value = "${adminPath}/mes/mesStationPiecePrice")
- public class MesStationPiecePriceController extends BaseController {
- @Autowired
- private MesStationPiecePriceService mesStationPiecePriceService;
- @Autowired
- private MesLineProcessService mesLineProcessService;
- @Autowired
- private MesLineService mesLineService;
- @ModelAttribute
- public MesStationPiecePrice get(String id, boolean isNewRecord) {
- return mesStationPiecePriceService.get(id, isNewRecord);
- }
- @RequiresPermissions("mes:mesStationPiecePrice:view")
- @RequestMapping(value = {"list", ""})
- public String list(MesStationPiecePrice mesStationPiecePrice, Model model) {
- model.addAttribute("mesStationPiecePrice", mesStationPiecePrice);
- return "modules/mes/mesStationPiecePriceList";
- }
- @RequiresPermissions("mes:mesStationPiecePrice:view")
- @RequestMapping(value = "listData")
- @ResponseBody
- public Page<MesStationPiecePrice> listData(MesStationPiecePrice mesStationPiecePrice,
- HttpServletRequest request, HttpServletResponse response) {
- mesStationPiecePrice.setPage(new Page<>(request, response));
- return mesStationPiecePriceService.findPage(mesStationPiecePrice);
- }
- @RequiresPermissions("mes:mesStationPiecePrice:view")
- @RequestMapping(value = "form")
- public String form(MesStationPiecePrice mesStationPiecePrice, Model model) {
- model.addAttribute("mesStationPiecePrice", mesStationPiecePrice);
- // 产线下拉选项
- MesLine mesLine = new MesLine();
- mesLine.setStatus(MesLine.STATUS_NORMAL);
- model.addAttribute("lineList", mesLineService.findList(mesLine));
- return "modules/mes/mesStationPiecePriceForm";
- }
- @RequiresPermissions("mes:mesStationPiecePrice:edit")
- @PostMapping(value = "save")
- @ResponseBody
- public String save(@Validated MesStationPiecePrice mesStationPiecePrice) {
- mesStationPiecePriceService.save(mesStationPiecePrice);
- return renderResult(Global.TRUE, text("\u4fdd\u5b58\u5de5\u4f4d\u8ba1\u4ef6\u5355\u4ef7\u6210\u529f"));
- }
- @RequiresPermissions("mes:mesStationPiecePrice:edit")
- @RequestMapping(value = "delete")
- @ResponseBody
- public String delete(MesStationPiecePrice mesStationPiecePrice) {
- mesStationPiecePriceService.delete(mesStationPiecePrice);
- return renderResult(Global.TRUE, text("\u5220\u9664\u5de5\u4f4d\u8ba1\u4ef6\u5355\u4ef7\u6210\u529f"));
- }
- @RequiresPermissions("mes:mesStationPiecePrice:view")
- @RequestMapping(value = "exportData")
- public void exportData(MesStationPiecePrice mesStationPiecePrice, HttpServletResponse response) {
- List<MesStationPiecePrice> list = mesStationPiecePriceService.findList(mesStationPiecePrice);
- String fileName = "\u5de5\u4f4d\u8ba1\u4ef6\u5355\u4ef7" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
- try (ExcelExport ee = new ExcelExport("\u5de5\u4f4d\u8ba1\u4ef6\u5355\u4ef7", MesStationPiecePrice.class)) {
- ee.setDataList(list).write(response, fileName);
- }
- }
- @RequiresPermissions("mes:mesStationPiecePrice:view")
- @RequestMapping(value = "importTemplate")
- public void importTemplate(HttpServletResponse response) {
- MesStationPiecePrice mesStationPiecePrice = new MesStationPiecePrice();
- List<MesStationPiecePrice> list = ListUtils.newArrayList(mesStationPiecePrice);
- String fileName = "\u5de5\u4f4d\u8ba1\u4ef6\u5355\u4ef7\u6a21\u677f.xlsx";
- try (ExcelExport ee = new ExcelExport("\u5de5\u4f4d\u8ba1\u4ef6\u5355\u4ef7", MesStationPiecePrice.class, Type.IMPORT)) {
- ee.setDataList(list).write(response, fileName);
- }
- }
- @ResponseBody
- @RequiresPermissions("mes:mesStationPiecePrice:edit")
- @PostMapping(value = "importData")
- public String importData(MultipartFile file) {
- try {
- String message = mesStationPiecePriceService.importData(file);
- return renderResult(Global.TRUE, "posfull:" + message);
- } catch (Exception ex) {
- return renderResult(Global.FALSE, "posfull:" + ex.getMessage());
- }
- }
- /**
- * 按产线查询父工位列表(pid 为空)
- */
- @RequiresPermissions("mes:mesStationPiecePrice:view")
- @RequestMapping(value = "stationList")
- @ResponseBody
- public List<MesLineProcess> stationList(String lineSn) {
- return findParentStationList(lineSn);
- }
- @RequiresPermissions("mes:mesStationPiecePrice:view")
- @RequestMapping(value = "stationInfo")
- @ResponseBody
- public MesLineProcess stationInfo(String lineSn, String oprno) {
- if (StringUtils.isBlank(lineSn) || StringUtils.isBlank(oprno)) {
- return null;
- }
- String targetOprno = oprno.trim();
- for (MesLineProcess item : findParentStationList(lineSn)) {
- if (targetOprno.equals(item.getOprno())) {
- return item;
- }
- }
- return null;
- }
- /**
- * 根据产线编号查询父工位
- */
- private List<MesLineProcess> findParentStationList(String lineSn) {
- if (StringUtils.isBlank(lineSn)) {
- return ListUtils.newArrayList();
- }
- MesLine query = new MesLine();
- query.setSn(lineSn.trim());
- query.setStatus(MesLine.STATUS_NORMAL);
- MesLine line = mesLineService.findInfo(query);
- if (line == null || StringUtils.isBlank(line.getId())) {
- return ListUtils.newArrayList();
- }
- return mesLineProcessService.findParentListByLine(line.getId(), lineSn.trim());
- }
- }
|