From c489d3e32b23be4565693c69a73dc96e2be658cb Mon Sep 17 00:00:00 2001 From: ruanqi Date: Thu, 7 Apr 2022 15:51:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E7=9A=84=E7=BB=B4=E6=8A=A4?= =?UTF-8?q?=E5=B7=A5=E8=89=BA=E8=B7=AF=E7=BA=BF=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/controller/BaseController.java | 89 +++++++++++++++ .../gaotao/modules/base/dao/BaseMapper.java | 102 ++++++++++++++++++ .../SORoutingAvailableResourceData.java | 79 ++++++++++++++ .../modules/base/entity/SORoutingData.java | 28 ++++- .../modules/base/service/BaseService.java | 44 ++++++++ .../base/service/Impl/BaseServiceImpl.java | 84 +++++++++++++++ src/main/resources/mapper/base/BaseMapper.xml | 71 ++++++++++++ 7 files changed, 496 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/gaotao/modules/base/entity/SORoutingAvailableResourceData.java diff --git a/src/main/java/com/gaotao/modules/base/controller/BaseController.java b/src/main/java/com/gaotao/modules/base/controller/BaseController.java index 93b489c..fc2c5fe 100644 --- a/src/main/java/com/gaotao/modules/base/controller/BaseController.java +++ b/src/main/java/com/gaotao/modules/base/controller/BaseController.java @@ -1619,5 +1619,94 @@ public class BaseController { } return map; } + /** + * @Description TODO + * @Title saveSORoutingData + * @param inData + * @author rq + * @date 2022/1/15 15:48 + * @return Object + * @throw + */ + @PostMapping("/saveSORoutingData") + @ResponseBody + public Object saveSORoutingData(@RequestBody SORoutingData inData){ + ResponseData responseData = new ResponseData(); + try { + responseData = baseService.saveSORoutingData(inData); + } catch (Exception e) { + responseData.setMsg(e.getMessage()); + responseData.setCode("500"); + } + return responseData; + } + + /** + * @Description 维护工艺路线信息查询 + * @Title searchRoutingWithPartNo + * @param indata + * @author rq + * @date 2022/1/14 13:46 + * @return Object + * @throw + */ + @PostMapping("/searchSORoutingResource") + @ResponseBody + public Object searchSORoutingResource(@RequestBody SORoutingAvailableResourceData indata){ + Map map = new HashMap<>(); + try { + List resultList = baseService.searchSORoutingResource(indata); + map.put("success", true); + map.put("rows", resultList); + map.put("total", resultList.size()); + } catch (Exception e) { + map.put("success", false); + map.put("msg", e.getMessage()); + } + return map; + } + + /** + * @Description TODO + * @Title saveRoutingDetailData + * @param inData + * @author rq + * @date 2022/1/15 15:48 + * @return Object + * @throw + */ + @PostMapping("/addSORoutingResource") + @ResponseBody + public Object addSORoutingResource(@RequestBody SORoutingAvailableResourceData inData){ + ResponseData responseData = new ResponseData(); + try { + responseData = baseService.addSORoutingResource(inData); + } catch (Exception e) { + responseData.setMsg(e.getMessage()); + responseData.setCode("500"); + } + return responseData; + } + + + /** + * @Title deleteRoutingResource + * @Description 删除机台 + * @author rq + * @date 2021/4/16 11:56 + * @return {@link Object} + */ + @PostMapping("/deleteSORoutingResource") + @ResponseBody + public Object deleteSORoutingResource(@RequestBody SORoutingAvailableResourceData inData){ + ResponseData responseData = new ResponseData(); + try { + responseData = baseService.deleteSORoutingResource(inData); + } catch (Exception e) { + responseData.setMsg(e.getMessage()); + responseData.setCode("500"); + } + return responseData; + } } diff --git a/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java b/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java index 7384dcb..27acbf9 100644 --- a/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java +++ b/src/main/java/com/gaotao/modules/base/dao/BaseMapper.java @@ -1361,4 +1361,106 @@ public interface BaseMapper { * @throw */ List getSORoutingData(SORoutingData indata); + /** + * @Description 校验工序是否存在 + * @Title getSORoutingData + * @param indata + * @author rq + * @date 2022/4/6 15:00 + * @return List + * @throw + */ + List checkSORoutingItemNo(SORoutingData indata); + + /** + * @Description + * @Title getMaxSORoutingItemNo + * @param indata + * @author rq + * @date 2022/4/6 15:00 + * @return List + * @throw + */ + SORoutingData getMaxSORoutingItemNo(SORoutingData indata); + + /** + * @Description 保存工艺路线 + * @Title saveSORoutingData + * @param inData + * @author rq + * @date 2022/1/15 17:01 + * @return void + * @throw + */ + void saveSORoutingData(SORoutingData inData); + + + /** + * @Description 更新工艺路线 + * @Title updateSORoutingData + * @param inData + * @author rq + * @date 2022/1/15 17:01 + * @return void + * @throw + */ + void updateSORoutingData(SORoutingData inData); + + /** + * @Description 更新工艺路线下到工序 + * @Title updateSORoutingDataNextItemNo + * @param inData + * @author rq + * @date 2022/1/15 17:01 + * @return void + * @throw + */ + void updateSORoutingDataNextItemNo(SORoutingData inData); + + float getShopOrderLotSize(@Param("site")String site,@Param("orderNo")String orderNo); + + /** + * @Description 查询SORouting里面的 + * @Title searchSORoutingResource + * @param + * @author rq + * @date 2022/1/15 16:17 + * @return ResponseData + * @throw + */ + List searchSORoutingResource(SORoutingAvailableResourceData indata); + + /** + * @Description + * @Title checkRoutingResource + * @param indata + * @author rq + * @date 2022/1/17 15:32 + * @return List + * @throw + */ + List checkSORoutingResource(SORoutingAvailableResourceData indata); + + + /** + * @Description TODO + * @Title addRoutingResource + * @param indata + * @author rq + * @date 2022/1/17 16:54 + * @return void + * @throw + */ + void addSORoutingResource(SORoutingAvailableResourceData indata); + + /** + * @Description 删除机台 + * @Title deleteRoutingResource + * @param indata + * @author rq + * @date 2022/1/17 16:54 + * @return void + * @throw + */ + void deleteSORoutingResource(SORoutingAvailableResourceData indata); } diff --git a/src/main/java/com/gaotao/modules/base/entity/SORoutingAvailableResourceData.java b/src/main/java/com/gaotao/modules/base/entity/SORoutingAvailableResourceData.java new file mode 100644 index 0000000..80f01ec --- /dev/null +++ b/src/main/java/com/gaotao/modules/base/entity/SORoutingAvailableResourceData.java @@ -0,0 +1,79 @@ +package com.gaotao.modules.base.entity; + +import org.apache.ibatis.type.Alias; + +@Alias("SORoutingAvailableResourceData") +public class SORoutingAvailableResourceData { + /** + * + */ + private String site; + + /** + * + */ + private String orderNo; + + /** + * + */ + private Double itemNo; + + /** + * + */ + private String resourceID; + + private String resourceDesc; + + private String active; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public Double getItemNo() { + return itemNo; + } + + public void setItemNo(Double itemNo) { + this.itemNo = itemNo; + } + + public String getResourceID() { + return resourceID; + } + + public void setResourceID(String resourceID) { + this.resourceID = resourceID; + } + + public String getResourceDesc() { + return resourceDesc; + } + + public void setResourceDesc(String resourceDesc) { + this.resourceDesc = resourceDesc; + } + + public String getActive() { + return active; + } + + public void setActive(String active) { + this.active = active; + } +} + diff --git a/src/main/java/com/gaotao/modules/base/entity/SORoutingData.java b/src/main/java/com/gaotao/modules/base/entity/SORoutingData.java index 678701d..0ac20a7 100644 --- a/src/main/java/com/gaotao/modules/base/entity/SORoutingData.java +++ b/src/main/java/com/gaotao/modules/base/entity/SORoutingData.java @@ -81,7 +81,7 @@ public class SORoutingData { * */ private Double efficiency; - + private Float lotSize; /** * */ @@ -190,6 +190,8 @@ public class SORoutingData { * */ private String sShiftNo; + private int add; + private String user; public String getSite() { return site; @@ -494,5 +496,29 @@ public class SORoutingData { public void setWorkCenterDesc(String workCenterDesc) { this.workCenterDesc = workCenterDesc; } + + public int getAdd() { + return add; + } + + public void setAdd(int add) { + this.add = add; + } + + public String getUser() { + return user; + } + + public void setUser(String user) { + this.user = user; + } + + public Float getLotSize() { + return lotSize; + } + + public void setLotSize(Float lotSize) { + this.lotSize = lotSize; + } } diff --git a/src/main/java/com/gaotao/modules/base/service/BaseService.java b/src/main/java/com/gaotao/modules/base/service/BaseService.java index 06afdd6..4477cc3 100644 --- a/src/main/java/com/gaotao/modules/base/service/BaseService.java +++ b/src/main/java/com/gaotao/modules/base/service/BaseService.java @@ -776,4 +776,48 @@ public interface BaseService { * @throw */ List getSORoutingData(SORoutingData indata); + + /** + * @Description TODO + * @Title saveSORoutingData + * @param inData + * @author rq + * @date 2022/1/15 16:17 + * @return ResponseData + * @throw + */ + ResponseData saveSORoutingData(SORoutingData inData); + + /** + * @Description 查询SORouting里面的 + * @Title searchSORoutingResource + * @param + * @author rq + * @date 2022/1/15 16:17 + * @return ResponseData + * @throw + */ + List searchSORoutingResource(SORoutingAvailableResourceData indata); + + /** + * @Description 添加机台 + * @Title addSORoutingResource + * @param inData + * @author rq + * @date 2022/1/15 16:17 + * @return ResponseData + * @throw + */ + ResponseData addSORoutingResource(SORoutingAvailableResourceData inData); + + /** + * @Description 删除机台 + * @Title deleteSORoutingResource + * @param inData + * @author rq + * @date 2022/1/15 16:17 + * @return ResponseData + * @throw + */ + ResponseData deleteSORoutingResource(SORoutingAvailableResourceData inData); } diff --git a/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java b/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java index 56c1a01..f270558 100644 --- a/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java +++ b/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java @@ -1634,4 +1634,88 @@ public class BaseServiceImpl implements BaseService { public List getSORoutingData(SORoutingData indata){ return baseMapper.getSORoutingData(indata); } + + @Override + @Transactional + public ResponseData saveSORoutingData(SORoutingData inData){ + ResponseData responseData = new ResponseData(); + WorkCenterData workCenter=new WorkCenterData(); + workCenter.setWorkCenterNo(inData.getWorkCenterNo()); + workCenter.setUser(inData.getUser()); + workCenter.setSite(inData.getSite()); + List checkList1=baseMapper.getWorkCenterData(workCenter); + if("单位/小时".equals(inData.getFactorUnit())){ + inData.setFactorUnitDb("1"); + } + if("小时".equals(inData.getFactorUnit())){ + inData.setFactorUnitDb("2"); + } + if(checkList1.size()==0){ + responseData.setMsg("该加工中心不存在!"); + responseData.setCode("500"); + return responseData; + } + float lotSize=baseMapper.getShopOrderLotSize(inData.getSite(),inData.getOrderNo()); + inData.setLotSize(lotSize); + if (inData.getAdd()==0){ + List list3=baseMapper.checkSiteId(inData.getSite()); + if(list3.size()==0){ + responseData.setMsg("该工厂编码不存在!"); + responseData.setCode("500"); + return responseData; + } + List list2=baseMapper.checkSORoutingItemNo(inData); + if(list2.size()!=0){ + responseData.setMsg("该工序已经存在!"); + responseData.setCode("500"); + return responseData; + } + SORoutingData getLastItemNo=baseMapper.getMaxSORoutingItemNo(inData); + inData.setPreItemNo(getLastItemNo.getItemNo()); + String StrOrderNo=inData.getOrderNo(); + while(StrOrderNo.length()<10){ + StringBuffer sb=new StringBuffer(); + sb.append("0").append(StrOrderNo); + StrOrderNo=sb.toString(); + } + inData.setBarcodeID("1-"+StrOrderNo+"-"+String.format("%04d",(int)Math.round(inData.getItemNo()))); + //新增 + baseMapper.saveSORoutingData(inData); + baseMapper.updateSORoutingDataNextItemNo(inData); + }else{ + + baseMapper.updateSORoutingData(inData); + } + responseData.setCode("200"); + responseData.setSuccess(true); + responseData.setMsg("操作成功!"); + return responseData; + } + + @Override + public List searchSORoutingResource(SORoutingAvailableResourceData indata){ + return baseMapper.searchSORoutingResource(indata); + } + @Override + public ResponseData addSORoutingResource(SORoutingAvailableResourceData inData){ + ResponseData responseData = new ResponseData(); + List check=baseMapper.checkSORoutingResource(inData); + if(check.size()==0) { + baseMapper.addSORoutingResource(inData); + } + responseData.setCode("200"); + responseData.setSuccess(true); + responseData.setMsg("操作成功!"); + return responseData; + } + + @Override + public ResponseData deleteSORoutingResource(SORoutingAvailableResourceData inData){ + ResponseData responseData = new ResponseData(); + baseMapper.deleteSORoutingResource(inData); + responseData.setCode("200"); + responseData.setSuccess(true); + responseData.setMsg("操作成功!"); + return responseData; + } } diff --git a/src/main/resources/mapper/base/BaseMapper.xml b/src/main/resources/mapper/base/BaseMapper.xml index df5a12d..c923a3a 100644 --- a/src/main/resources/mapper/base/BaseMapper.xml +++ b/src/main/resources/mapper/base/BaseMapper.xml @@ -955,4 +955,75 @@ dbo.Get_Part_DescSpec(site,WX_PartNo) as wxSpec,dbo.Get_WorkCenter_Type(Site,Wor + + + + + + + insert into SORouting(Site,OrderNo,ItemNo,OperationDesc,WorkCenterNo,MachSetupTime,MachRunFactor,FactorUnit_DB,FactorUnit,QtyRequired, + QtyReported,QtyApprove,TimeRequired,TimeReported,Efficiency,PlanStartTime,PlanFinishTime,BarcodeID,Remark,PartNo, + Crewsize,ClosedFlag,QtyScrapt,OutWorkFlag,OutWorkPartNo,QtyOnPR,QtyOnPO,PreItemNo,NextItemNo,ScheduledFlag, + QtyScheduled) + values(#{site},#{orderNo},#{itemNo},#{operationDesc},#{workCenterNo},#{machSetupTime},#{machRunFactor},#{factorUnitDb},#{factorUnit},#{lotSize}, + 0,0,dbo.Get_Routing_TimeRequired(#{site},#{lotSize},#{machSetupTime},#{machRunFactor},#{factorUnit},#{efficiency}),0,#{efficiency},#{planStartTime},#{planFinishTime},#{barcodeID},#{remark},#{partNo}, + #{crewsize},'N',0,'N','',0,0,#{preItemNo},0,'N',0) + + + + update SORouting SET OperationDesc=#{operationDesc},WorkCenterNo=#{workCenterNo},MachSetupTime=#{machSetupTime},FactorUnit_DB=#{factorUnitDb},FactorUnit=#{factorUnit},MachRunFactor=#{machRunFactor}, + PlanStartTime=#{planStartTime},PlanFinishTime=#{planFinishTime},Efficiency=#{efficiency},Crewsize=#{crewsize},Remark=#{remark},TimeRequired=dbo.Get_Routing_TimeRequired(#{site},#{lotSize},#{machSetupTime},#{machRunFactor},#{factorUnit},#{efficiency}) + where OrderNo = #{orderNo} and site = #{site} and ItemNo = #{itemNo} + + + + update SORouting SET NextItemNo=#{itemNo} where OrderNo = #{orderNo} and site = #{site} and ItemNo = #{preItemNo} + + + + + + + + + insert into SORouting_AvailableResource(Site,OrderNo,ItemNo,ResourceID) values(#{site},#{orderNo},#{itemNo},#{resourceID}) + + + delete from SORouting_AvailableResource where site=#{site} and orderNo=#{orderNo} and ItemNo=#{itemNo} and ResourceID=#{resourceID} + \ No newline at end of file