Browse Source

排产的维护工艺路线组件

master
ruanqi 4 years ago
parent
commit
c489d3e32b
  1. 89
      src/main/java/com/gaotao/modules/base/controller/BaseController.java
  2. 102
      src/main/java/com/gaotao/modules/base/dao/BaseMapper.java
  3. 79
      src/main/java/com/gaotao/modules/base/entity/SORoutingAvailableResourceData.java
  4. 28
      src/main/java/com/gaotao/modules/base/entity/SORoutingData.java
  5. 44
      src/main/java/com/gaotao/modules/base/service/BaseService.java
  6. 84
      src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java
  7. 71
      src/main/resources/mapper/base/BaseMapper.xml

89
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<String, Object> map = new HashMap<>();
try {
List<SORoutingAvailableResourceData> 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;
}
}

102
src/main/java/com/gaotao/modules/base/dao/BaseMapper.java

@ -1361,4 +1361,106 @@ public interface BaseMapper {
* @throw
*/
List<SORoutingData> getSORoutingData(SORoutingData indata);
/**
* @Description 校验工序是否存在
* @Title getSORoutingData
* @param indata
* @author rq
* @date 2022/4/6 15:00
* @return List<SORoutingData>
* @throw
*/
List<SORoutingData> checkSORoutingItemNo(SORoutingData indata);
/**
* @Description
* @Title getMaxSORoutingItemNo
* @param indata
* @author rq
* @date 2022/4/6 15:00
* @return List<SORoutingData>
* @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<SORoutingAvailableResourceData> searchSORoutingResource(SORoutingAvailableResourceData indata);
/**
* @Description
* @Title checkRoutingResource
* @param indata
* @author rq
* @date 2022/1/17 15:32
* @return List<WorkCenterResourceData>
* @throw
*/
List<SORoutingAvailableResourceData> 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);
}

79
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;
}
}

28
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;
}
}

44
src/main/java/com/gaotao/modules/base/service/BaseService.java

@ -776,4 +776,48 @@ public interface BaseService {
* @throw
*/
List<SORoutingData> 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<SORoutingAvailableResourceData> 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);
}

84
src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java

@ -1634,4 +1634,88 @@ public class BaseServiceImpl implements BaseService {
public List<SORoutingData> 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<WorkCenterData> 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<SiteData> list3=baseMapper.checkSiteId(inData.getSite());
if(list3.size()==0){
responseData.setMsg("该工厂编码不存在!");
responseData.setCode("500");
return responseData;
}
List<SORoutingData> 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<SORoutingAvailableResourceData> searchSORoutingResource(SORoutingAvailableResourceData indata){
return baseMapper.searchSORoutingResource(indata);
}
@Override
public ResponseData addSORoutingResource(SORoutingAvailableResourceData inData){
ResponseData responseData = new ResponseData();
List<SORoutingAvailableResourceData> 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;
}
}

71
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
</if>
</where>
</select>
<select id="checkSORoutingItemNo" resultType="com.gaotao.modules.base.entity.SORoutingData">
Select ItemNo from SORouting
<where>
<if test="orderNo != null and orderNo != ''">
and OrderNo = #{orderNo}
</if>
<if test="site != null and site != ''">
and site = #{site}
</if>
<if test="itemNo != null and itemNo != ''">
and ItemNo = #{itemNo}
</if>
</where>
</select>
<select id="getMaxSORoutingItemNo" resultType="com.gaotao.modules.base.entity.SORoutingData">
Select IsNull(MAX(ItemNo),0) as ItemNo from SORouting
<where>
<if test="orderNo != null and orderNo != ''">
and OrderNo = #{orderNo}
</if>
<if test="site != null and site != ''">
and site = #{site}
</if>
</where>
</select>
<insert id="saveSORoutingData" parameterType="SORoutingData">
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)
</insert>
<update id="updateSORoutingData" parameterType="SORoutingData">
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>
<update id="updateSORoutingDataNextItemNo" parameterType="SORoutingData">
update SORouting SET NextItemNo=#{itemNo} where OrderNo = #{orderNo} and site = #{site} and ItemNo = #{preItemNo}
</update>
<select id="getShopOrderLotSize" resultType="float">
select top 1 isNull(LotSize,0) as lotSize FROM ShopOrder where site=#{site} and orderNo=#{orderNo}
</select>
<select id="searchSORoutingResource" resultType="SORoutingAvailableResourceData">
select R.Site,R.OrderNo,R.ItemNo,R.ResourceID,W.ResourceDesc,W.Active
from SORouting_AvailableResource R
LEFT JOIN WorkCenterResource W on W.ResourceID=R.ResourceID and R.Site=W.Site
where R.site=#{site} and R.orderNo=#{orderNo} and R.ItemNo=#{itemNo}
</select>
<select id="checkSORoutingResource" resultType="SORoutingAvailableResourceData">
select Site,OrderNo,ItemNo,ResourceID from SORouting_AvailableResource where site=#{site} and orderNo=#{orderNo} and ItemNo=#{itemNo} and ResourceID=#{resourceID}
</select>
<insert id="addSORoutingResource">
insert into SORouting_AvailableResource(Site,OrderNo,ItemNo,ResourceID) values(#{site},#{orderNo},#{itemNo},#{resourceID})
</insert>
<delete id="deleteSORoutingResource">
delete from SORouting_AvailableResource where site=#{site} and orderNo=#{orderNo} and ItemNo=#{itemNo} and ResourceID=#{resourceID}
</delete>
</mapper>
Loading…
Cancel
Save