Browse Source

1008更新

master
ruanqi 4 years ago
parent
commit
a94fc2dce6
  1. 10
      src/main/java/com/heai/modules/production/dao/SOTaskOrderHeaderMapper.java
  2. 6
      src/main/java/com/heai/modules/production/service/impl/DailyPlanServiceImpl.java
  3. 4
      src/main/resources/mapper/board/BoardMapper.xml
  4. 6
      src/main/resources/mapper/production/SOTaskOrderHeaderMapper.xml

10
src/main/java/com/heai/modules/production/dao/SOTaskOrderHeaderMapper.java

@ -142,4 +142,14 @@ public interface SOTaskOrderHeaderMapper {
* @throw * @throw
*/ */
Double getReportQtyByInputQty(DailyReportInData inData); Double getReportQtyByInputQty(DailyReportInData inData);
/**
* @Description 把输入的打料公斤数转换成订单数量
* @Title checkBomIfHas
* @param
* @author rq
* @date 2021/10/12 12:00
* @return Double
* @throw
*/
int checkBomIfHas(DailyReportInData inData);
} }

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

@ -337,6 +337,12 @@ public class DailyPlanServiceImpl implements DailyPlanService {
} }
inData.setInputQty(inData.getReportQty()); inData.setInputQty(inData.getReportQty());
//检验下BOM中有没有数据
int checkBom=sOTaskOrderHeaderMapper.checkBomIfHas(inData);
if(checkBom==0){
throw new RuntimeException("BOM中不存在该订单,请先维护BOM!");
}
double newQty=sOTaskOrderHeaderMapper.getReportQtyByInputQty(inData); double newQty=sOTaskOrderHeaderMapper.getReportQtyByInputQty(inData);
if(newQty<checkList.get(0).getOrderQty()){ if(newQty<checkList.get(0).getOrderQty()){
throw new RuntimeException("报工数量小于计划数量!"); throw new RuntimeException("报工数量小于计划数量!");

4
src/main/resources/mapper/board/BoardMapper.xml

@ -36,10 +36,10 @@
select OrderNo,site,PartNo,PartDescSpec,ComponentPartNo,CompPartDescSpec,SJPH1,SJPH_QtyReq1,SJPH2,SJPH_QtyReq2,QtyRequired,QtyFinished,PlanStartDate,CompOrderNo, select OrderNo,site,PartNo,PartDescSpec,ComponentPartNo,CompPartDescSpec,SJPH1,SJPH_QtyReq1,SJPH2,SJPH_QtyReq2,QtyRequired,QtyFinished,PlanStartDate,CompOrderNo,
FinishedFlag,erpStatus FROM view_KANBAN_SO_Hunlian_Plan FinishedFlag,erpStatus FROM view_KANBAN_SO_Hunlian_Plan
<where> <where>
<if test="sql != null ">
<if test="sql != null ">
AND #{sql} >= PlanStartDate AND #{sql} >= PlanStartDate
</if> </if>
<if test="orderNo != null and orderNo != ''">
<if test="orderNo != null and orderNo != ''">
AND OrderNo like #{orderNo} AND OrderNo like #{orderNo}
</if> </if>
<if test="partDescSpec != null and partDescSpec != ''"> <if test="partDescSpec != null and partDescSpec != ''">

6
src/main/resources/mapper/production/SOTaskOrderHeaderMapper.xml

@ -127,8 +127,10 @@ SOT.PartNo,SOT.UserName,SOT.EnterDate,SOT.Qtyfinished,SOT.QtyFinished_Ontime,SOT
<update id="dailyPlanReportSave" parameterType="com.heai.modules.production.entity.DailyReportInData"> <update id="dailyPlanReportSave" parameterType="com.heai.modules.production.entity.DailyReportInData">
update SOTaskOrderHeader SET Qtyfinished=#{reportQty},ReportTime=#{reportTime},FinishFlag='Y',ReportBy=#{reportBy} ,InputQty=#{inputQty} where OrderNo=#{orderNo} and site =#{site} update SOTaskOrderHeader SET Qtyfinished=#{reportQty},ReportTime=#{reportTime},FinishFlag='Y',ReportBy=#{reportBy} ,InputQty=#{inputQty} where OrderNo=#{orderNo} and site =#{site}
</update> </update>
<select id="checkBomIfHas" resultType="int">
select count(1) from SOBOM where OrderNo=#{orderRef1} and Site=#{site}
</select>
<select id="getReportQtyByInputQty" resultType="double"> <select id="getReportQtyByInputQty" resultType="double">
select top 1 round(#{reportQty}*(1 - d.ScraptFactor/100.0)/ d.QtyAssembly,1) from SOBOM as d where d.OrderNo=#{orderRef1} and Site=#{site}
select top 1 round(#{reportQty}*(1 - d.ScraptFactor/100.0)/ d.QtyAssembly,1) from SOBOM d where d.OrderNo=#{orderRef1} and d.Site=#{site}
</select> </select>
</mapper> </mapper>
Loading…
Cancel
Save