ruanqiJialidiannao 4 years ago
parent
commit
259feda16b
  1. 22
      src/main/java/com/gaotao/modules/base/controller/BaseController.java
  2. 78
      src/main/java/com/gaotao/modules/base/dao/BaseMapper.java
  3. 10
      src/main/java/com/gaotao/modules/base/entity/RoutingHeaderData.java
  4. 11
      src/main/java/com/gaotao/modules/base/service/BaseService.java
  5. 24
      src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java
  6. 50
      src/main/resources/mapper/base/BaseMapper.xml

22
src/main/java/com/gaotao/modules/base/controller/BaseController.java

@ -1444,4 +1444,26 @@ public class BaseController {
}
return responseData;
}
/**
* @Description 同步工艺路线实际操作
* @Title changeOrderRouting
* @param inData
* @author rq
* @date 2022/1/19 14:53
* @return Object
* @throw
*/
@PostMapping("/changeOrderRouting")
@ResponseBody
public Object changeOrderRouting(@RequestBody RoutingHeaderData inData){
ResponseData responseData = new ResponseData();
try {
responseData = baseService.changeOrderRouting(inData);
} catch (Exception e) {
responseData.setMsg(e.getMessage());
responseData.setCode("500");
}
return responseData;
}
}

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

@ -1088,4 +1088,82 @@ public interface BaseMapper {
* @throw
*/
int shopOrderRoutingNumber(RoutingHeaderData inData);
/**
* @Description 临时表保存信息
* @Title ShopOrderRoutingNumber
* @param
* @author rq
* @date 2022/1/19 17:17
* @return int
* @throw
*/
void saveRoutingChangeCach(@Param("tableName")String tableName,@Param("site")String site,@Param("partNo")String partNo);
/**
* @Description 更改生产订单上的工艺路线版本号
* @Title updateOrderRevNo
* @param
* @author rq
* @date 2022/1/19 17:17
* @return int
* @throw
*/
void updateOrderRevNo(@Param("tableName")String tableName,@Param("revNo")String revNo);
/**
* @Description 删除原有的上产订单上的工序
* @Title deleteNowItemNo
* @param
* @author rq
* @date 2022/1/19 17:17
* @return int
* @throw
*/
void deleteNowItemNo(@Param("tableName")String tableName);
/**
* @Description 删除原有的上产订单上的工具
* @Title deleteNowToolNo
* @param
* @author rq
* @date 2022/1/19 17:17
* @return int
* @throw
*/
void deleteNowToolNo(@Param("tableName")String tableName);
/**
*
* @Description 创建新工序
* @Title saveNewItemNo
* @param
* @author rq
* @date 2022/1/19 17:17
* @return int
* @throw
*/
void saveNewItemNo(@Param("tableName")String tableName,@Param("site")String site,@Param("partNo")String partNo,@Param("revNo")String revNo);
/**
*
* @Description 创建新工具
* @Title saveNewTool
* @param
* @author rq
* @date 2022/1/19 17:17
* @return int
* @throw
*/
void saveNewTool(@Param("tableName")String tableName,@Param("site")String site,@Param("partNo")String partNo,@Param("revNo")String revNo,@Param("user")String user);
/**
*
* @Description 删除零时表
* @Title deleteRoutingChangeCach
* @param
* @author rq
* @date 2022/1/19 17:17
* @return int
* @throw
*/
void deleteRoutingChangeCach(@Param("tableName")String tableName);
}

10
src/main/java/com/gaotao/modules/base/entity/RoutingHeaderData.java

@ -71,7 +71,7 @@ public class RoutingHeaderData {
private String repairFlag;
private String spec;
private String umid;
private String user;
public String getSite() {
return site;
}
@ -183,5 +183,13 @@ public class RoutingHeaderData {
public void setUmid(String umid) {
this.umid = umid;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
}

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

@ -690,4 +690,15 @@ public interface BaseService {
* @throw
*/
ResponseData checkRoutingAndOrder(RoutingHeaderData inData);
/**
* @Description 同步工艺路线实际操作
* @Title changeOrderRouting
* @param inData
* @author rq
* @date 2022/1/19 16:31
* @return ResponseData
* @throw
*/
ResponseData changeOrderRouting(RoutingHeaderData inData);
}

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

@ -2,6 +2,7 @@ package com.gaotao.modules.base.service.Impl;
import com.gaotao.common.utils.DateUtil;
import com.gaotao.common.utils.DateUtils;
import com.gaotao.modules.app.entity.WorkCenter;
import com.gaotao.modules.base.dao.BaseMapper;
import com.gaotao.modules.base.entity.*;
@ -1408,4 +1409,27 @@ public class BaseServiceImpl implements BaseService {
responseData.setMsg("操作成功!");
return responseData;
}
@Override
@Transactional
public ResponseData changeOrderRouting(RoutingHeaderData inData){
ResponseData responseData = new ResponseData();
String tableName="RoutingChange"+ DateUtil.getSDate(new Date())+DateUtil.getSTime(new Date())+(int)(Math.random()*10);
//临时表保存信息
baseMapper.saveRoutingChangeCach(tableName,inData.getSite(),inData.getPartNo());
//更改生产订单上的版本号
baseMapper.updateOrderRevNo(tableName,inData.getRevNo());
//删除原有的上产订单上的工序
baseMapper.deleteNowItemNo(tableName);
baseMapper.deleteNowToolNo(tableName);
//创建新工序和工具
baseMapper.saveNewItemNo(tableName,inData.getSite(),inData.getPartNo(),inData.getRevNo());
baseMapper.saveNewTool(tableName,inData.getSite(),inData.getPartNo(),inData.getRevNo(),inData.getUser());
baseMapper.deleteRoutingChangeCach(tableName);
responseData.setCode("200");
responseData.setSuccess(true);
responseData.setMsg("操作成功!");
return responseData;
}
}

50
src/main/resources/mapper/base/BaseMapper.xml

@ -792,4 +792,54 @@ dbo.Get_Part_DescSpec(site,WX_PartNo) as wxSpec,dbo.Get_WorkCenter_Type(Site,Wor
and Not exists(Select 1 from SOScheduledRouting as D Where T.Site=D.Site and T.OrderNo=D.OrderNo)
and T.OrderType!='P'
</select>
<insert id="saveRoutingChangeCach">
Select Site,OrderNo,LotSize into ${tableName} from ShopOrder as T
where Site=#{site} and PartNo=#{partNo}
and (Status='已计划' or Status='已下达')
and Not exists(Select 1 from SOScheduledRouting as D Where T.Site=D.Site and T.OrderNo=D.OrderNo)
and T.OrderType != 'P'
</insert>
<update id="updateOrderRevNo">
Update ShopOrder Set RoutingRevNo=#{revNo}
from ${tableName} as T where ShopOrder.Site=T.Site and ShopOrder.OrderNo=T.OrderNo
</update>
<delete id="deleteNowItemNo">
Delete SORouting from ${tableName} as T where SORouting.Site=T.Site and SORouting.OrderNo=T.OrderNo
</delete>
<delete id="deleteNowToolNo">
Delete SOTool from ${tableName} as T where SOTool.Site=T.Site and SOTool.OrderNo=T.OrderNo
</delete>
<insert id="saveNewItemNo" >
Insert into SORouting(Site,OrderNo,ItemNo,OperationDesc,WorkCenterNo,MachSetupTime,MachRunFactor
,FactorUnit_DB,FactorUnit,TimeRequired,TimeReported,Efficiency,Remark,QtyRequired,QtyReported,QtyApprove
,PlanStartTime,PlanFinishTime,BarcodeID,PartNo,ClosedFlag,OutWorkFlag,OutWorkPartNo,QtyOnPR,QtyOnPO,QtyScrapt,Crewsize
,PreItemNo,NextItemNo,ScheduledFlag,QtyScheduled)
Select T.Site,D.OrderNo,ItemNo,OperationDesc,WorkCenterNo,MachSetupTime,MachRunFactor,FactorUnit_DB,FactorUnit,
(MachSetupTime+(Case when MachRunFactor=0 then 0 else (Case when FactorUnit_DB='1' then D.LotSize/MachRunFactor when FactorUnit_DB='2' then D.LotSize*MachRunFactor
when FactorUnit_DB='3' then MachRunFactor end) end)/(Efficiency/100)) as TimeRequired,0,Efficiency,Remark ,D.LotSize,0,0,0,0
,(Case when len(OrderNo)>10 then D.Site + '-' + D.OrderNo + '-' + dbo.Get_PadL(ItemNo,4,'0') else D.Site + '-' + dbo.Get_PadL(D.OrderNo,10,'0') + '-' + dbo.Get_PadL(ItemNo,4,'0') end),T.PartNo,'N'
,(Case when dbo.Get_WorkCenter_TypeDB(T.Site,WorkCenterNo)='O' then 'Y' else 'N' end) as OutWorkFlag,WX_PartNo as OutWorkPartNo,0.0 as QtyOnPR,0.0 as QtyOnPO,0.0 as QtyScrapt,Crewsize
,Isnull((Select Max(D.ItemNo) as PreItemNo from RoutingDetail as D Where D.Site=T.Site and D.PartNo=T.PartNo and D.RevNo=T.RevNo and T.ItemNo>D.ItemNo),0)
,Isnull((Select Min(D.ItemNo) as NextItemNo from RoutingDetail as D Where D.Site=T.Site and D.PartNo=T.PartNo and D.RevNo=T.RevNo and D.ItemNo>T.ItemNo),0)
,'N',0
from RoutingDetail as T, ${tableName} as D
Where D.Site=T.Site
and T.site=#{site} and T.PartNo=#{partNo} and T.RevNo=#{revNo}
</insert>
<insert id="saveNewTool" >
Insert into SOTool(Site,OrderNo,ItemNo,ToolID,ToolQty,Remark,CreateDate,CreatedBy)
Select T.Site,D.OrderNo,ItemNo,ToolID,ToolQty,Remark,getdate(),#{user}
from RoutingTool as T,${tableName} as D
Where D.Site=T.Site and T.site=#{site} and T.PartNo=#{partNo} and T.RevNo=#{revNo}
</insert>
<delete id="deleteRoutingChangeCach">
Drop table ${tableName}
</delete>
</mapper>
Loading…
Cancel
Save