| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 |
- package com.jeesite.modules.mes.web;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.alibaba.fastjson.JSON;
- import com.jeesite.common.collect.ListUtils;
- import com.jeesite.common.collect.MapUtils;
- import com.jeesite.common.lang.DateUtils;
- import com.jeesite.common.lang.StringUtils;
- import com.jeesite.common.utils.excel.ExcelExport;
- import com.jeesite.modules.file.entity.FileUpload;
- import com.jeesite.modules.file.service.FileUploadService;
- import com.jeesite.modules.mes.dao.MesWarehouseInItemsDao;
- import com.jeesite.modules.mes.entity.*;
- import com.jeesite.modules.mes.resp.CommonResp;
- import com.jeesite.modules.mes.resp.DictDataResp;
- import com.jeesite.modules.mes.resp.MesWarehouseResp;
- import com.jeesite.modules.mes.service.MesApplyService;
- import com.jeesite.modules.mes.service.MesIpqcService;
- import com.jeesite.modules.mes.service.MesWarehouseInItemsService;
- import com.jeesite.modules.mes.util.CopyUtil;
- import com.jeesite.modules.sys.entity.DictData;
- import com.jeesite.modules.sys.utils.DictUtils;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.checkerframework.checker.units.qual.A;
- 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 com.jeesite.common.config.Global;
- import com.jeesite.common.entity.Page;
- import com.alibaba.fastjson.JSONValidator;
- import com.jeesite.common.codec.EncodeUtils;
- import com.jeesite.common.web.BaseController;
- import com.jeesite.modules.mes.service.MesWarehouseInService;
- /**
- * 入库单Controller
- * @author hzd
- * @version 2023-06-26
- */
- @Controller
- @RequestMapping(value = "${adminPath}/mes/mesWarehouseIn")
- public class MesWarehouseInController extends BaseController {
- @Autowired
- private MesWarehouseInService mesWarehouseInService;
- @Autowired
- private MesApplyService mesApplyService;
- @Resource
- private FileUploadService fileUploadService;
- @Autowired
- private MesWarehouseInItemsService mesWarehouseInItemsService;
- @Autowired
- private MesIpqcService mesIpqcService;
-
- /**
- * 获取数据
- */
- @ModelAttribute
- public MesWarehouseIn get(String id, boolean isNewRecord) {
- return mesWarehouseInService.get(id, isNewRecord);
- }
-
- /**
- * 查询列表
- */
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = {"list", ""})
- public String list(MesWarehouseIn mesWarehouseIn, Model model) {
- model.addAttribute("mesWarehouseIn", mesWarehouseIn);
- return "modules/mes/mesWarehouseInList";
- }
-
- /**
- * 查询列表数据
- */
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "listData")
- @ResponseBody
- public Page<MesWarehouseIn> listData(MesWarehouseIn mesWarehouseIn, HttpServletRequest request, HttpServletResponse response) {
- mesWarehouseIn.setPage(new Page<>(request, response));
- Page<MesWarehouseIn> page = mesWarehouseInService.findPage(mesWarehouseIn);
- return page;
- }
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = {"items", ""})
- public String items(MesWarehouseInItems mesWarehouseInItems, Model model) {
- model.addAttribute("mesWarehouseInItems", mesWarehouseInItems);
- return "modules/mes/mesWarehouseInItems";
- }
-
- /**
- * 查询子表数据
- */
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "mesWarehouseInItemsListData")
- @ResponseBody
- public Page<MesWarehouseInItems> subListData(MesWarehouseInItems mesWarehouseInItems, HttpServletRequest request, HttpServletResponse response) {
- mesWarehouseInItems.setPage(new Page<>(request, response));
- Page<MesWarehouseInItems> page = mesWarehouseInService.findSubPage(mesWarehouseInItems);
- return page;
- }
- /**
- * 查看编辑表单
- */
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "form")
- public String form(MesWarehouseIn mesWarehouseIn, Model model) {
- mesWarehouseIn.setFrom("0");
- model.addAttribute("mesWarehouseIn", mesWarehouseIn);
- return "modules/mes/mesWarehouseInForm";
- }
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "form2")
- public String form2(MesWarehouseIn mesWarehouseIn, Model model) {
- mesWarehouseIn.setFrom("1");
- model.addAttribute("mesWarehouseIn", mesWarehouseIn);
- return "modules/mes/mesWarehouseInForm2";
- }
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "refund")
- public String refund(MesWarehouseIn mesWarehouseIn, Model model) {
- MesWarehouseRefund mesWarehouseRefund = new MesWarehouseRefund();
- mesWarehouseRefund.setFromId(mesWarehouseIn.getFromId());
- mesWarehouseRefund.setWarehouseInId(mesWarehouseIn.getId());
- List<MesWarehouseRefundItems> list2 = mesWarehouseRefund.getMesWarehouseRefundItemsList();
- List<MesWarehouseInItems> list = mesWarehouseIn.getMesWarehouseInItemsList();
- for (MesWarehouseInItems mesWarehouseInItems : list){
- MesWarehouseRefundItems res = new MesWarehouseRefundItems();
- res.setWarehouseId(mesWarehouseInItems.getWarehouseId());
- res.setTitle(mesWarehouseInItems.getTitle());
- res.setSn(mesWarehouseInItems.getSn());
- res.setSpec(mesWarehouseInItems.getSpec());
- res.setCount(mesWarehouseInItems.getCount());
- list2.add(res);
- }
- mesWarehouseRefund.setMesWarehouseRefundItemsList(list2);
- model.addAttribute("mesWarehouseRefund", mesWarehouseRefund);
- return "modules/mes/mesWarehouseInRefund";
- }
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "deal")
- public String deal(MesWarehouseIn mesWarehouseIn, Model model) {
- model.addAttribute("mesWarehouseIn", mesWarehouseIn);
- List<MesApply> malist = mesApplyService.getApplyData("2",mesWarehouseIn.getId(),1);
- String auth = "0";
- List<String> titles = new ArrayList<>();
- for (MesApply item : malist){
- if(item.getState().equals("0") && item.getAuth().equals("1")){
- auth = "1";
- titles.add(item.getNodeTitle());
- }
- }
- String btnTitle = "";
- if(auth.equals("1")){
- btnTitle = String.join("-",titles);
- }
- model.addAttribute("malist", malist);
- model.addAttribute("auth", auth);
- model.addAttribute("btnTitle", btnTitle);
- return "modules/mes/mesWarehouseInDeal";
- }
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "info")
- public String info(MesWarehouseIn mesWarehouseIn, Model model) {
- model.addAttribute("mesWarehouseIn", mesWarehouseIn);
- // List<MesApply> malist = mesApplyService.getApplyData("2",mesWarehouseIn.getId(),0);
- // model.addAttribute("malist", malist);
- return "modules/mes/mesWarehouseInInfo";
- }
- /**
- * 保存数据
- */
- @RequiresPermissions("mes:mesWarehouseIn:edit")
- @PostMapping(value = "save")
- @ResponseBody
- public String save(@Validated MesWarehouseIn mesWarehouseIn) {
- if(mesWarehouseIn.getFrom().equals("1")){
- mesWarehouseIn.setState("0");
- }else{
- mesWarehouseIn.setState("1");
- }
- List<MesWarehouseInItems> list = mesWarehouseIn.getMesWarehouseInItemsList();
- if(list.size() == 0){
- return renderResult(Global.FALSE, text("请选择物料!"));
- }
- for (int i = 0; i < list.size(); i++) {
- if(list.get(i).getWarehouseId().isEmpty()){
- return renderResult(Global.FALSE, text("参数错误!"));
- }
- if(list.get(i).getCount() <= 0){
- return renderResult(Global.FALSE, text("物料数量必须大于0"));
- }
- }
- mesWarehouseInService.save(mesWarehouseIn);
- return renderResult(Global.TRUE, text("保存入库单成功!"));
- }
- @RequiresPermissions("mes:mesWarehouseIn:edit")
- @PostMapping(value = "save2")
- @ResponseBody
- public String save2(@Validated MesWarehouseIn mesWarehouseIn,HttpServletRequest request) {
- if(!mesWarehouseIn.getState().equals("0")){
- return renderResult(Global.FALSE, text("该记录已处理"));
- }
- String state = request.getParameter("applyState");
- String remark = request.getParameter("applyRemark");
- mesWarehouseIn.setRemark("");
- if(state.equals("2")){
- mesWarehouseIn.setState("2");
- }
- List<MesApply> malist = mesApplyService.getApplyData("2",mesWarehouseIn.getId(),1);
- String auth = "0";
- String s = "1";
- for (MesApply item : malist){
- if(item.getState().equals("0") && item.getAuth().equals("1")){
- auth = "1";
- item.setRemark(remark);
- }
- if(item.getState().equals("0")){
- s = "0";
- }
- }
- if(auth.equals("0")){
- return renderResult(Global.FALSE, text("无权限操作"));
- }
- if(s.equals("1")){
- mesWarehouseIn.setState("1");
- }
- mesWarehouseInService.deal(mesWarehouseIn,state,remark);
- return renderResult(Global.TRUE, text("操作成功!"));
- }
-
- /**
- * 删除数据
- */
- @RequiresPermissions("mes:mesWarehouseIn:edit")
- @RequestMapping(value = "delete")
- @ResponseBody
- public String delete(MesWarehouseIn mesWarehouseIn) {
- mesWarehouseInService.delete(mesWarehouseIn);
- return renderResult(Global.TRUE, text("删除入库单成功!"));
- }
- /**
- * 导出数据
- */
- @RequiresPermissions("mes:mesWarehouseIn:view")
- @RequestMapping(value = "exportData")
- public void exportData(MesWarehouseInItems mesWarehouseInItems, HttpServletResponse response) {
- List<MesWarehouseInItems> list = mesWarehouseInService.findSubList(mesWarehouseInItems);
- String fileName = "物料入库记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
- try(ExcelExport ee = new ExcelExport("物料入库记录", MesWarehouseInItems.class)){
- ee.setDataList(list).write(response, fileName);
- }
- }
- @RequiresPermissions("mes:mesWarehouseIn:api")
- @PostMapping(value = "add")
- @ResponseBody
- public String add(@Validated MesWarehouseIn mesWarehouseIn,HttpServletRequest request) {
- mesWarehouseIn.setState("1");
- if(mesWarehouseIn.getFrom().equals("1")){ // 让步入库审核
- mesWarehouseIn.setState("0");
- }
- // String items = request.getParameter("items");
- // if(items.isEmpty()){
- // return renderResult(Global.FALSE, text("请选择物料!"));
- // }
- List<MesWarehouseInItems> list = mesWarehouseIn.getMesWarehouseInItemsList();
- if(list.size() == 0){
- return renderResult(Global.FALSE, text("请选择物料!"));
- }
- for (int i = 0; i < list.size(); i++) {
- if(list.get(i).getWarehouseId().isEmpty()){
- return renderResult(Global.FALSE, text("参数错误!"));
- }
- if(list.get(i).getCount() <= 0){
- return renderResult(Global.FALSE, text("物料数量必须大于0"));
- }
- }
- mesWarehouseInService.save(mesWarehouseIn);
- return renderResult(Global.TRUE, text("操作成功!"));
- }
- @RequestMapping(value = "types")
- @ResponseBody
- public CommonResp types() {
- List<DictData> list = DictUtils.getDictList("mes_warehouse_type");
- // 列表复制
- List<DictDataResp> result = CopyUtil.copyList(list, DictDataResp.class);
- CommonResp<List<DictDataResp>> resp = new CommonResp<>();
- resp.setData(result);
- resp.setResult(Global.TRUE);
- return resp;
- }
- @RequiresPermissions("mes:mesWarehouseIn:api")
- @RequestMapping(value = "ulist")
- @ResponseBody
- public CommonResp ulist(MesWarehouseIn mesWarehouseIn, HttpServletRequest request, HttpServletResponse response) {
- mesWarehouseIn.setPage(new Page<>(request, response));
- Page<MesWarehouseIn> page = mesWarehouseInService.findPage(mesWarehouseIn);
- CommonResp<Page> resp = new CommonResp<>();
- resp.setData(page);
- resp.setResult(Global.TRUE);
- return resp;
- }
- @RequiresPermissions("mes:mesWarehouseIn:api")
- @RequestMapping(value = "detail")
- @ResponseBody
- public CommonResp detail(MesWarehouseIn mesWarehouseIn,HttpServletRequest req) {
- String host = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/js";
- Map<String, Object> map = MapUtils.newHashMap();
- // logger.info(JSON.toJSONString(mesWarehouseIn));
- // List<MesApply> malist = mesApplyService.getApplyData("2",mesWarehouseIn.getId(),0);
- // map.put("apply", malist);
- // 获取图片
- FileUpload fu = new FileUpload();
- fu.setBizKey(mesWarehouseIn.getId());
- fu.setBizType("mesWarehouseIn_image");
- List<FileUpload> imgs = fileUploadService.findList(fu);
- List imgList = ListUtils.newArrayList();
- if(imgs.size() > 0){
- for (FileUpload fi:imgs) {
- Map<String, Object> map1 = MapUtils.newHashMap();
- map1.put("id",fi.getFileEntity().getFileId());
- map1.put("url",host + fi.getFileUrl());
- imgList.add(map1);
- }
- }
- map.put("imgs", imgList);
- // 获取附件
- FileUpload fu2 = new FileUpload();
- fu.setBizKey(mesWarehouseIn.getId());
- fu.setBizType("mesWarehouseIn_file");
- List<FileUpload> imgs2 = fileUploadService.findList(fu2);
- List imgList2 = ListUtils.newArrayList();
- if(imgs2.size() > 0){
- for (FileUpload fi:imgs2) {
- Map<String, Object> map2 = MapUtils.newHashMap();
- map2.put("id",fi.getFileEntity().getFileId());
- map2.put("url",host + fi.getFileUrl());
- map2.put("name",host + fi.getFileName());
- imgList2.add(map2);
- }
- }
- map.put("files", imgList);
- map.put("mesWarehouseIn", mesWarehouseIn);
- CommonResp<Map<String, Object>> resp = new CommonResp<>();
- resp.setData(map);
- resp.setResult(Global.TRUE);
- return resp;
- }
- @RequiresPermissions("mes:mesWarehouseIn:api")
- @RequestMapping(value = "applydetail")
- @ResponseBody
- public CommonResp applydetail(MesWarehouseIn mesWarehouseIn,HttpServletRequest req) {
- String host = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort() + "/js";
- Map<String, Object> map = MapUtils.newHashMap();
- // 获取图片
- FileUpload fu = new FileUpload();
- fu.setBizKey(mesWarehouseIn.getId());
- fu.setBizType("mesWarehouseIn_image");
- List<FileUpload> imgs = fileUploadService.findList(fu);
- List imgList = ListUtils.newArrayList();
- if(imgs.size() > 0){
- for (FileUpload fi:imgs) {
- Map<String, Object> map1 = MapUtils.newHashMap();
- map1.put("id",fi.getFileEntity().getFileId());
- map1.put("url",host + fi.getFileUrl());
- imgList.add(map1);
- }
- }
- map.put("imgs", imgList);
- // 获取附件
- FileUpload fu2 = new FileUpload();
- fu.setBizKey(mesWarehouseIn.getId());
- fu.setBizType("mesWarehouseIn_file");
- List<FileUpload> imgs2 = fileUploadService.findList(fu2);
- List imgList2 = ListUtils.newArrayList();
- if(imgs2.size() > 0){
- for (FileUpload fi:imgs2) {
- Map<String, Object> map2 = MapUtils.newHashMap();
- map2.put("id",fi.getFileEntity().getFileId());
- map2.put("url",host + fi.getFileUrl());
- map2.put("name",host + fi.getFileName());
- imgList2.add(map2);
- }
- }
- map.put("files", imgList);
- map.put("mesWarehouseIn", mesWarehouseIn);
- List<MesApply> malist = mesApplyService.getApplyData("2",mesWarehouseIn.getId(),1);
- String auth = "0";
- List<String> titles = new ArrayList<>();
- for (MesApply item : malist){
- if(item.getState().equals("0") && item.getAuth().equals("1")){
- auth = "1";
- titles.add(item.getNodeTitle());
- }
- }
- String btnTitle = "";
- if(auth.equals("1")){
- btnTitle = String.join("-",titles);
- }
- map.put("malist", malist);
- map.put("auth", auth);
- map.put("btnTitle", btnTitle);
- CommonResp<Map<String, Object>> resp = new CommonResp<>();
- resp.setData(map);
- resp.setResult(Global.TRUE);
- return resp;
- }
- }
|