Browse Source

生产订单工序调整同步信息 2023年2月19日 sxm

master
[li_she] 3 years ago
parent
commit
be68a3195d
  1. 28
      src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java
  2. 19
      src/main/java/com/gaotao/modules/shopOrder/entity/RouteInShopOrderData.java
  3. 86
      src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java
  4. 3
      src/main/java/com/gaotao/modules/sys/service/impl/SysMsgServiceImpl.java
  5. 100
      src/main/resources/mapper/shopOrder/ShopOrderMapper.xml

28
src/main/java/com/gaotao/modules/shopOrder/dao/ShopOrderMapper.java

@ -326,4 +326,32 @@ public interface ShopOrderMapper {
*/
Double getOrderQtyRequired(@Param("site") String site,@Param("orderNo") String orderNo);
/**
* @author: sxm
* @description: 获取当前工序信息
* @param [routeInShopOrderData]
* @return: com.gaotao.modules.shopOrder.entity.RouteInShopOrderData
* @date: 2023/2/19 13:50
*/
RouteInShopOrderData getSORoute(RouteInShopOrderData routeInShopOrderData);
/**
* @author: sxm
* @description: 修改工序前后道
* @param [pre]
* @return: void
* @date: 2023/2/19 13:54
*/
void updateRouteByItemNo(RouteInShopOrderData pre);
/**
* @author: sxm
* @description: 获取前一道工序或后一道工序
* @param [routeInShopOrderData, orderBy]
* @return: com.gaotao.modules.shopOrder.entity.RouteInShopOrderData
* @date: 2023/2/19 14:15
*/
RouteInShopOrderData getSORouteItemNoOrderBy(@Param("route") RouteInShopOrderData routeInShopOrderData,@Param("orderBy") String orderBy);
}

19
src/main/java/com/gaotao/modules/shopOrder/entity/RouteInShopOrderData.java

@ -39,6 +39,25 @@ public class RouteInShopOrderData {
private int lotSize;
private Double preItemNo;
private Double nextItemNo;
public Double getPreItemNo() {
return preItemNo;
}
public void setPreItemNo(Double preItemNo) {
this.preItemNo = preItemNo;
}
public Double getNextItemNo() {
return nextItemNo;
}
public void setNextItemNo(Double nextItemNo) {
this.nextItemNo = nextItemNo;
}
public int getLotSize() {
return lotSize;
}

86
src/main/java/com/gaotao/modules/shopOrder/service/Impl/ShopOrderServiceImpl.java

@ -45,6 +45,7 @@ public class ShopOrderServiceImpl implements ShopOrderService {
List<SOOrderTypeData> result = shopOrderMapper.getShopOrderFamily(indata);
return result;
}
@Override
public ResponseData saveShopOrderFamily(SOOrderTypeData inData) {
ResponseData responseData = new ResponseData();
@ -83,6 +84,7 @@ public class ShopOrderServiceImpl implements ShopOrderService {
responseData.setMsg(sysMsgService.getLanguageMsg(SysMsgConstant.OBJECT_ID_200000));
return responseData;
}
@Override
public ResponseData deleteShopOrderFamily(SOOrderTypeData inData) {
ResponseData responseData = new ResponseData();
@ -100,6 +102,7 @@ public class ShopOrderServiceImpl implements ShopOrderService {
List<SOPlannerData> result = shopOrderMapper.getPlanFamily(indata);
return result;
}
@Override
public ResponseData savePlanFamily(SOPlannerData inData) {
ResponseData responseData = new ResponseData();
@ -138,6 +141,7 @@ public class ShopOrderServiceImpl implements ShopOrderService {
responseData.setMsg("操作成功!");
return responseData;
}
@Override
public ResponseData deletePlanFamily(SOPlannerData inData) {
ResponseData responseData = new ResponseData();
@ -211,6 +215,7 @@ public class ShopOrderServiceImpl implements ShopOrderService {
List<RouteInShopOrderData> result = shopOrderMapper.getRouteInShopOrderData(indata);
return result;
}
@Override
public List<ToolInShopOrder> getToolInShopOrder(ShopOrderData indata) {
List<ToolInShopOrder> result = shopOrderMapper.getToolInShopOrder(indata);
@ -252,10 +257,11 @@ public class ShopOrderServiceImpl implements ShopOrderService {
/**
* TODO 执行取消订单的操作
*
* @return void
* @author LR
* @date 2022/5/30 14:13
* @Param [site, orderNo, status]
* @return void
**/
public Map<String, Object> cancelShopOrder(String site, String orderNo, String status) {
List<Object> params = new ArrayList<>();
@ -321,10 +327,11 @@ public class ShopOrderServiceImpl implements ShopOrderService {
/**
* TODO 调用存储过程 执行关闭订单
*
* @return java.util.Map<java.lang.String, java.lang.Object>
* @author LR
* @date 2022/6/7 16:46
* @Param [site, orderNo, status, checkOrderQtyFlag]
* @return java.util.Map<java.lang.String, java.lang.Object>
**/
public Map<String, Object> closeShopOrder(String site, String orderNo, String status, String checkOrderQtyFlag) {
List<Object> params = new ArrayList<>();
@ -357,10 +364,11 @@ public class ShopOrderServiceImpl implements ShopOrderService {
/**
* TODO 调用存储过程 重新打开派工单
*
* @return java.util.Map<java.lang.String, java.lang.Object>
* @author LR
* @date 2022/6/7 16:51
* @Param [site, orderNo, status]
* @return java.util.Map<java.lang.String, java.lang.Object>
**/
public Map<String, Object> openShopOrder(String site, String orderNo, String status) {
List<Object> params = new ArrayList<>();
@ -374,16 +382,82 @@ public class ShopOrderServiceImpl implements ShopOrderService {
}
@Override
@Transactional
public void deleteRouteInShopOrder(RouteInShopOrderData routeInShopOrderData) {
deletedUpdateShopRoute(routeInShopOrderData);
shopOrderMapper.deleteRouteInShopOrder(routeInShopOrderData);
}
// 调整工艺路线之后处理 工序的前道后道
private void deletedUpdateShopRoute(RouteInShopOrderData routeInShopOrderData) {
// 获取当前工序信息
RouteInShopOrderData route = shopOrderMapper.getSORoute(routeInShopOrderData);
RouteInShopOrderData pre = new RouteInShopOrderData();
pre.setOrderNo(route.getOrderNo());
pre.setSite(route.getSite());
RouteInShopOrderData next = new RouteInShopOrderData();
next.setOrderNo(route.getOrderNo());
next.setSite(route.getSite());
if (route != null) {
if (route.getPreItemNo().doubleValue() == 0) {
pre.setItemNo(route.getNextItemNo());
pre.setPreItemNo(0.0);
shopOrderMapper.updateRouteByItemNo(pre);
}
if (route.getNextItemNo().doubleValue() == 0) {
next.setItemNo(route.getPreItemNo());
next.setNextItemNo(0.0);
shopOrderMapper.updateRouteByItemNo(next);
}
if (route.getPreItemNo().doubleValue() != 0 && route.getNextItemNo().doubleValue() != 0) {
pre.setItemNo(route.getPreItemNo());
pre.setNextItemNo(route.getNextItemNo());
shopOrderMapper.updateRouteByItemNo(pre);
next.setItemNo(route.getNextItemNo());
next.setPreItemNo(route.getPreItemNo());
shopOrderMapper.updateRouteByItemNo(next);
}
}
}
@Override
@Transactional
public void insertRouteInShopOrder(RouteInShopOrderData routeInShopOrderData) {
// 获取工单数量
Double qtyRequired = shopOrderMapper.getOrderQtyRequired(routeInShopOrderData.getSite(), routeInShopOrderData.getOrderNo());
routeInShopOrderData.setQtyRequired(qtyRequired);
shopOrderMapper.insertRouteInShopOrder(routeInShopOrderData);
addUpdateRoute(routeInShopOrderData);
}
private void addUpdateRoute(RouteInShopOrderData routeInShopOrderData) {
// 根据工序号获取上道工序
RouteInShopOrderData pre = shopOrderMapper.getSORouteItemNoOrderBy(routeInShopOrderData,"desc");
// 根据工序号获取下道工序
RouteInShopOrderData next = shopOrderMapper.getSORouteItemNoOrderBy(routeInShopOrderData,"asc");
if (pre != null){
pre.setNextItemNo(routeInShopOrderData.getItemNo());
routeInShopOrderData.setPreItemNo(pre.getItemNo());
routeInShopOrderData.setNextItemNo(0.0);
shopOrderMapper.updateRouteByItemNo(pre);
}
if (next != null){
next.setPreItemNo(routeInShopOrderData.getItemNo());
routeInShopOrderData.setPreItemNo(0.0);
routeInShopOrderData.setNextItemNo(next.getItemNo());
shopOrderMapper.updateRouteByItemNo(next);
}
if (pre == null && next == null){
routeInShopOrderData.setPreItemNo(0.0);
routeInShopOrderData.setNextItemNo(0.0);
}
if (pre != null && next != null){
routeInShopOrderData.setPreItemNo(pre.getItemNo());
routeInShopOrderData.setNextItemNo(next.getItemNo());
}
shopOrderMapper.updateRouteByItemNo(routeInShopOrderData);
}
@Override
@ -446,11 +520,11 @@ public class ShopOrderServiceImpl implements ShopOrderService {
}
/**
* @return java.util.Map<java.lang.String, java.lang.Object>
* @Author LR
* @Description 执行新增工单工序的信息
* @DateTime 2022/8/22 15:36
* @Param [site, orderNo, itemNo, toolId, toolQty, createdBy, toolQty1, remark]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public Map<String, Object> processInsertShopOrderTool(String site, String orderNo, int itemNo, String toolId, int toolQty, String createdBy, String createdDate, String remark) {
List<Object> params = new ArrayList<>();
@ -492,11 +566,11 @@ public class ShopOrderServiceImpl implements ShopOrderService {
}
/**
* @return java.util.Map<java.lang.String, java.lang.Object>
* @Author LR
* @Description 执行修改工单工序的信息
* @DateTime 2022/8/22 16:19
* @Param [site, orderNo, itemNo, oriToolId, toolId, toolQty, createdBy, createdDate, remark]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public Map<String, Object> processUpdateShopOrderTool(String site, String orderNo, int itemNo, String oriToolId, String toolId, int toolQty, String createdBy, String createdDate, String remark) {
List<Object> params = new ArrayList<>();
@ -534,11 +608,11 @@ public class ShopOrderServiceImpl implements ShopOrderService {
}
/**
* @return java.util.Map<java.lang.String, java.lang.Object>
* @Author LR
* @Description 执行删除工单工序的信息
* @DateTime 2022/8/22 16:22
* @Param [site, orderNo, itemNo, toolId]
* @return java.util.Map<java.lang.String,java.lang.Object>
**/
public Map<String, Object> processDeleteShopOrderTool(String site, String orderNo, int itemNo, String toolId) {
List<Object> params = new ArrayList<>();

3
src/main/java/com/gaotao/modules/sys/service/impl/SysMsgServiceImpl.java

@ -4,6 +4,7 @@ import com.gaotao.common.constant.SysMsgConstant;
import com.gaotao.modules.sys.dao.SysMsgDao;
import com.gaotao.modules.sys.entity.SysUserEntity;
import com.gaotao.modules.sys.service.SysMsgService;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -24,6 +25,6 @@ public class SysMsgServiceImpl implements SysMsgService {
private SysMsgDao sysMsgDao;
@Override
public String getLanguageMsg( String objectId) {
return sysMsgDao.getLanguageMsg( getUser().getLanguageDefault(), SysMsgConstant.OBJECT_TYPE, objectId);
return sysMsgDao.getLanguageMsg(StringUtils.isEmpty(getUser().getLanguageDefault())?"cn":getUser().getLanguageDefault(), SysMsgConstant.OBJECT_TYPE, objectId);
}
}

100
src/main/resources/mapper/shopOrder/ShopOrderMapper.xml

@ -358,20 +358,38 @@
</insert>
<update id="updateRouteInShopOrder">
update SORouting set OperationDesc = #{operationDesc} ,WorkCenterNo = #{workCenterNo},MachSetupTime = #{machSetupTime}
,MachRunFactor = #{machRunFactor},FactorUnit = #{factorUnit},Efficiency =#{efficiency},TimeReported =#{timeRequired}
,PlanFinishTime = #{planFinishTime},PlanStartTime = #{planStartTime},Crewsize = #{crewsize} ,Remark= #{remark}
where site = #{site} and OrderNo = #{orderNo} and ItemNo = #{itemNo}
update SORouting
set OperationDesc = #{operationDesc}
, WorkCenterNo = #{workCenterNo}
, MachSetupTime = #{machSetupTime}
, MachRunFactor = #{machRunFactor}
, FactorUnit = #{factorUnit}
, Efficiency =#{efficiency}
, TimeReported =#{timeRequired}
, PlanFinishTime = #{planFinishTime}
, PlanStartTime = #{planStartTime}
, Crewsize = #{crewsize}
, Remark= #{remark}
where site = #{site}
and OrderNo = #{orderNo}
and ItemNo = #{itemNo}
</update>
<select id="getRoutingTimeRequired" resultType="java.math.BigDecimal">
select dbo.Get_Routing_TimeRequired(#{site},#{lotSize},#{machSetupTime},#{machRunFactor},#{factorUnit},#{efficiency})
select dbo.Get_Routing_TimeRequired(#{site}, #{lotSize}, #{machSetupTime}, #{machRunFactor}, #{factorUnit},
#{efficiency})
</select>
<select id="getWorkCenterInfo" resultType="com.gaotao.modules.shopOrder.entity.vo.WorkCenterVo">
Select WorkCenterNo Work_Center_No,WorkCenterDesc Work_Center_Desc,WorkCenterType Work_Center_Type,Active,Site
from WorkCenter where WorkCenterNo=#{workCenterNo} and Site =#{site}
Select WorkCenterNo Work_Center_No,
WorkCenterDesc Work_Center_Desc,
WorkCenterType Work_Center_Type,
Active,
Site
from WorkCenter
where WorkCenterNo = #{workCenterNo}
and Site = #{site}
</select>
@ -529,10 +547,23 @@
<!--获取工单的工具信息-->
<select id="getShopOrderToolDatas" resultType="ShopOrderToolData">
Select T.Site site, T.OrderNo orderNo, ItemNo itemNo, T.ToolID toolId, P.ToolDescription toolDesc, P.Spec toolSpec, T.ToolQty toolQty, P.UMID umid, P.FamilyID familyId,
Select T.Site site,
T.OrderNo orderNo,
ItemNo itemNo,
T.ToolID toolId,
P.ToolDescription toolDesc,
P.Spec toolSpec,
T.ToolQty toolQty,
P.UMID umid,
P.FamilyID familyId,
dbo.Get_SOOpsDescription(T.Site, T.OrderNo, ItemNo) itemDesc,
dbo.Get_PartFamilyDesc(T.Site, P.FamilyID) familyName, P.Active active, T.Remark remark, T.CreateDate createdDate, T.CreatedBy createdBy
FROM SOTool as T, ToolHeader as P
dbo.Get_PartFamilyDesc(T.Site, P.FamilyID) familyName,
P.Active active,
T.Remark remark,
T.CreateDate createdDate,
T.CreatedBy createdBy
FROM SOTool as T,
ToolHeader as P
Where T.Site = P.Site
and T.ToolID = P.ToolID
and T.Site = #{site}
@ -542,8 +573,55 @@
<select id="getOrderQtyRequired" resultType="java.lang.Double">
Select LotSize
from ShopOrder
Where Site = #{site} and OrderNo = #{orderNo}
Where Site = #{site}
and OrderNo = #{orderNo}
</select>
<select id="getSORoute" resultType="com.gaotao.modules.shopOrder.entity.RouteInShopOrderData">
Select R.Site
, R.OrderNo
, R.ItemNo
, ISNULL(R.NextItemNo, 0) next_item_no
, ISNULL(R.PreItemNo, 0) pre_item_no
from SORouting as R
where R.site = #{site}
and R.OrderNo = #{orderNo}
and R.ItemNo = #{itemNo}
</select>
<update id="updateRouteByItemNo">
update SORouting
<set>
<if test="nextItemNo != null">
NextItemNo = #{nextItemNo},
</if>
<if test="preItemNo != null">
PreItemNo = #{preItemNo},
</if>
</set>
where site = #{site}
and OrderNo = #{orderNo}
and ItemNo = #{itemNo}
</update>
<select id="getSORouteItemNoOrderBy" resultType="com.gaotao.modules.shopOrder.entity.RouteInShopOrderData">
select top 1 Site
, OrderNo
, ItemNo
from SORouting
<where>
site = #{route.site}
and OrderNo = #{route.orderNo}
<if test="orderBy == 'desc'">
and ItemNo <![CDATA[ < ]]> #{route.itemNo}
</if>
<if test="orderBy == 'asc'">
and ItemNo > #{route.itemNo}
</if>
</where>
order by ItemNo ${orderBy}
</select>
</mapper>
Loading…
Cancel
Save