Browse Source

0412更新

master
ruanqi 4 years ago
parent
commit
a3e04e9066
  1. 22
      src/main/java/com/heai/modules/app/dao/InventoryStockDao.java
  2. 12
      src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java
  3. 9
      src/main/java/com/heai/modules/production/entity/ShopOrderRoutingData.java
  4. 4
      src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java
  5. 10
      src/main/resources/mapper/app/InventoryStock.xml
  6. 10
      src/main/resources/mapper/production/DailyPlanMapper.xml

22
src/main/java/com/heai/modules/app/dao/InventoryStockDao.java

@ -3,6 +3,8 @@ package com.heai.modules.app.dao;
import com.heai.modules.app.entity.InventoryStockData;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface InventoryStockDao {
@ -16,4 +18,24 @@ public interface InventoryStockDao {
* @date 2022/04/20 17:45
*/
InventoryStockData getInventoryStockData(InventoryStockData inventoryStockData);
/**
* @Method checkPartIfOld
* @Description: 判断先进先出
* @author rq
* @Version 1.0
* @param inventoryStockData
* @return InventoryStockData
* @date 2022/04/20 17:45
*/
List<InventoryStockData> checkPartIfOld(InventoryStockData inventoryStockData);
/**
* @Method
* @Description: 根据参数返回值
* @author rq
* @Version 1.0
* @param
* @return InventoryStockData
* @date 2022/04/20 17:45
*/
String getFlag(String type);
}

12
src/main/java/com/heai/modules/app/service/impl/InventoryStockServiceImpl.java

@ -6,6 +6,8 @@ import com.heai.modules.app.service.InventoryStockService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author ZuoWen
* @date 2022年04月20日 17:45
@ -18,7 +20,15 @@ public class InventoryStockServiceImpl implements InventoryStockService {
@Override
public InventoryStockData getInventoryStockData(InventoryStockData inventoryStockData) {
//搜索参数
String Flag=inventoryStockDao.getFlag("NewInNewOut");
if("Y".equals(Flag)) {
//判断先进先出
List<InventoryStockData> checkIfOld = inventoryStockDao.checkPartIfOld(inventoryStockData);
if (checkIfOld.size() > 0) {
throw new RuntimeException("请先使用批号为" + checkIfOld.get(0).getBatchNo() + "的材料!!");
}
}
return inventoryStockDao.getInventoryStockData(inventoryStockData);
}

9
src/main/java/com/heai/modules/production/entity/ShopOrderRoutingData.java

@ -1,9 +1,11 @@
package com.heai.modules.production.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import javafx.scene.layout.BackgroundImage;
import org.apache.ibatis.type.Alias;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
@Alias("ShopOrderRoutingData")
@ -44,6 +46,7 @@ public class ShopOrderRoutingData extends ShopOrderData{
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date orderDate;
private BigDecimal lastApproveQty;
public float getItemNo() {
return itemNo;
}
@ -220,5 +223,11 @@ public class ShopOrderRoutingData extends ShopOrderData{
this.orderDate = orderDate;
}
public BigDecimal getLastApproveQty() {
return lastApproveQty;
}
public void setLastApproveQty(BigDecimal lastApproveQty) {
this.lastApproveQty = lastApproveQty;
}
}

4
src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java

@ -695,6 +695,10 @@ public class DailyPlanServiceImpl implements DailyPlanService {
SORoutingData result =new SORoutingData();
if(checkELevels==0) {
result = dailyPlanMapper.searchLastApproveQty(generateReportData);
if (result==null){
result =new SORoutingData();
result.setLastApproveQty(new BigDecimal(0));
}
}
return result;
}

10
src/main/resources/mapper/app/InventoryStock.xml

@ -29,4 +29,14 @@
</if>
</where>
</select>
<select id="checkPartIfOld" resultType="com.heai.modules.app.entity.InventoryStockData">
select Site,PartNo,BatchNo from InventoryStock where Site=#{site} and partNo=#{partNo} and WarehouseID = #{warehouseId,jdbcType=VARCHAR} and #{batchNo}>BatchNo
and QtyOnHand>0
order by BatchNo
</select>
<select id="getFlag" resultType="String">
select value from TableBase where type=#{type}
</select>
</mapper>

10
src/main/resources/mapper/production/DailyPlanMapper.xml

@ -180,11 +180,12 @@
<select id="getShopOrderRoutingData" resultType="ShopOrderRoutingData">
select a.site, a.OrderNo,a.PartNo,a.Status,a.PlanStartDate,a.NeedDate,a.LotSize,a.EnterDate,a.UserName,
P.PartDescription,P.Spec,isnull(SL.scheduledQty,0) as scheduledQty,s.workCenterNo,S.qtyReported,S.qtyApprove,S.machSetupTime,
S.machRunFactor,S.factorUnit,S.ItemNo,S.OperationDesc,s.Efficiency
S.machRunFactor,S.factorUnit,S.ItemNo,S.OperationDesc,s.Efficiency,isnull(SOP.TotalFinishedQty,0) lastApproveQty
FROM ShopOrder a
LEFT JOIN Part P ON P.PartNo=a.PartNo AND a.site=P.Site
LEFT JOIN SORouting S on S.site=a.site and S.OrderNo=a.orderNo
LEFT JOIN ScheduleList SL on S.site=SL.site and S.OrderNo=SL.orderNo and S.ItemNo=SL.ItemNo
LEFT JOIN SORoutingOutput SOP ON a.site=SOP.site and a.OrderNo=SOP.OrderNo and SOP.itemNo=dbo.Get_SORouting_PreviousOperationItemNo(a.site,a.OrderNo,S.itemNo)
<where>
a.E_Levels in (0,2)
<if test="site != null and site != ''">
@ -324,12 +325,15 @@
update ScheduleList set scheduledQty=scheduledQty+#{sumQty} where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo} and type=#{scheduleType}
</update>
<select id="searchReportedQty" resultType="SORoutingData">
select top 1 isnull(QtyReported,0) QtyReported,isnull(lastApproveQty,0) lastApproveQty ,dbo.Get_PartWeightFactorForReport(#{site},#{partNo},#{orderNo}) as weightFactor,dbo.Get_sfdcReportedSetupTime(#{site},#{seqNo}) as timeReported from SORouting where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo}
select top 1 isnull(a.QtyReported,0) QtyReported,isnull(SOP.TotalFinishedQty,0) lastApproveQty ,dbo.Get_PartWeightFactorForReport(#{site},#{partNo},#{orderNo}) as weightFactor,dbo.Get_sfdcReportedSetupTime(#{site},#{seqNo}) as timeReported
from SORouting a
LEFT JOIN SORoutingOutput SOP ON a.site=SOP.site and a.OrderNo=SOP.OrderNo and SOP.itemNo=dbo.Get_SORouting_PreviousOperationItemNo(a.site,a.OrderNo,a.itemNo)
where a.Site=#{site} and a.OrderNo=#{orderNo} and a.itemNo=#{itemNo}
</select>
<select id="searchLastApproveQty" resultType="SORoutingData">
select top 1 isnull(lastApproveQty,0) lastApproveQty from SORouting where Site=#{site} and OrderNo=#{orderNo} and itemNo=#{itemNo}
select top 1 isnull(TotalFinishedQty,0) lastApproveQty from SORoutingOutput where Site=#{site} and OrderNo=#{orderNo} and itemNo=dbo.Get_SORouting_PreviousOperationItemNo(#{site},#{orderNo},#{itemNo})
</select>
<select id="getSOScheduleRoutingData" resultType="SOScheduledRoutingOutData">
select Site,OrderNo,ItemNo,SeqNo,QtyRequired,QtyReported,QtyApprove,TimeRequired,TimeReported,

Loading…
Cancel
Save