Browse Source

日计划排产 日计划查询

master
ruanqi 4 years ago
parent
commit
b9b3ef5b6e
  1. 112
      src/main/java/com/letian/modules/product/entity/PartCheckData.java
  2. 18
      src/main/java/com/letian/modules/production/controller/DailyPlanController.java
  3. 12
      src/main/java/com/letian/modules/production/dao/DailyPlanMapper.java
  4. 11
      src/main/java/com/letian/modules/production/service/DailyPlanService.java
  5. 6
      src/main/java/com/letian/modules/production/service/impl/DailyPlanServiceImpl.java
  6. 33
      src/main/resources/mapper/production/DailyPlanMapper.xml

112
src/main/java/com/letian/modules/product/entity/PartCheckData.java

@ -0,0 +1,112 @@
package com.letian.modules.product.entity;
public class PartCheckData {
private String site;
private String partNo;
private String checkFlag;
private String seqNoData;
private float itemNo;
private String componentPartNo;
private String partDesc;
private String partSpec;
private String partUm;
private float calQtyOnHand;
private float calQtyShorage;
private float qtyRequired;
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getPartNo() {
return partNo;
}
public void setPartNo(String partNo) {
this.partNo = partNo;
}
public String getCheckFlag() {
return checkFlag;
}
public void setCheckFlag(String checkFlag) {
this.checkFlag = checkFlag;
}
public String getSeqNoData() {
return seqNoData;
}
public void setSeqNoData(String seqNoData) {
this.seqNoData = seqNoData;
}
public float getItemNo() {
return itemNo;
}
public void setItemNo(float itemNo) {
this.itemNo = itemNo;
}
public String getComponentPartNo() {
return componentPartNo;
}
public void setComponentPartNo(String componentPartNo) {
this.componentPartNo = componentPartNo;
}
public String getPartDesc() {
return partDesc;
}
public void setPartDesc(String partDesc) {
this.partDesc = partDesc;
}
public String getPartSpec() {
return partSpec;
}
public void setPartSpec(String partSpec) {
this.partSpec = partSpec;
}
public String getPartUm() {
return partUm;
}
public void setPartUm(String partUm) {
this.partUm = partUm;
}
public float getCalQtyOnHand() {
return calQtyOnHand;
}
public void setCalQtyOnHand(float calQtyOnHand) {
this.calQtyOnHand = calQtyOnHand;
}
public float getCalQtyShorage() {
return calQtyShorage;
}
public void setCalQtyShorage(float calQtyShorage) {
this.calQtyShorage = calQtyShorage;
}
public float getQtyRequired() {
return qtyRequired;
}
public void setQtyRequired(float qtyRequired) {
this.qtyRequired = qtyRequired;
}
}

18
src/main/java/com/letian/modules/production/controller/DailyPlanController.java

@ -2,6 +2,7 @@ package com.letian.modules.production.controller;
import com.letian.common.utils.R;
import com.letian.modules.base.entity.*;
import com.letian.modules.product.entity.PartCheckData;
import com.letian.modules.product.entity.PrdEntity;
import com.letian.modules.production.dao.SOTaskOrderHeaderMapper;
import com.letian.modules.production.dao.SoScheduledListMapper;
@ -424,4 +425,21 @@ public class DailyPlanController {
.put("rows", resultList)
.put("total", resultList.size());
}
/**
* TODO 查询-待生产工单
* @author rq
* @date 2021/10/28 16:46
* @param inData
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "getPartCheckData")
public R getPartCheckData(@RequestBody PartCheckData inData){
List<PartCheckData> resultList = dailyPlanService.getPartCheckData(inData);
return R.ok()
.put("code", 200)
.put("msg", "操作成功!")
.put("rows", resultList)
.put("total", resultList.size());
}
}

12
src/main/java/com/letian/modules/production/dao/DailyPlanMapper.java

@ -1,6 +1,7 @@
package com.letian.modules.production.dao;
import com.letian.modules.base.entity.*;
import com.letian.modules.product.entity.PartCheckData;
import com.letian.modules.production.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -229,4 +230,15 @@ public interface DailyPlanMapper {
* @throw
*/
List<SOScheduledRoutingData> getSOScheduledRoutingData(ScheduleOneData inData);
/**
* @Description 物料缺料检查
* @Title getPartCheckData
* @param inData
* @author rq
* @date 2022/5/23 16:32
* @return List<PartCheckData>
* @throw
*/
List<PartCheckData> getPartCheckData(PartCheckData inData);
}

11
src/main/java/com/letian/modules/production/service/DailyPlanService.java

@ -1,6 +1,7 @@
package com.letian.modules.production.service;
import com.letian.modules.base.entity.*;
import com.letian.modules.product.entity.PartCheckData;
import com.letian.modules.production.entity.*;
import org.springframework.web.bind.annotation.RequestBody;
@ -290,4 +291,14 @@ public interface DailyPlanService {
* @return java.util.List<com.gaotao.modules.schedule.data.ScheduleData>
**/
List<ScheduleDataNew> getProduceScheduleData(SearchScheduleDataNew inData);
/**
* @Description 物料缺料检查
* @Title getPartCheckData
* @param inData
* @author rq
* @date 2022/5/23 16:32
* @return List<PartCheckData>
* @throw
*/
List<PartCheckData> getPartCheckData(PartCheckData inData);
}

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

@ -5,6 +5,7 @@ import com.letian.common.utils.DateUtil;
import com.letian.common.utils.DateUtils;
import com.letian.modules.base.dao.BaseMapper;
import com.letian.modules.base.entity.*;
import com.letian.modules.product.entity.PartCheckData;
import com.letian.modules.production.dao.DailyPlanMapper;
import com.letian.modules.production.dao.ProcedureMapper;
import com.letian.modules.production.dao.SOTaskOrderHeaderMapper;
@ -544,4 +545,9 @@ public class DailyPlanServiceImpl implements DailyPlanService {
public List<ScheduleDataNew> getProduceScheduleData(SearchScheduleDataNew inData) {
return dailyPlanMapper.getProduceScheduleData(inData);
}
@Override
public List<PartCheckData> getPartCheckData(PartCheckData inData){
return dailyPlanMapper.getPartCheckData(inData);
}
}

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

@ -202,7 +202,7 @@
</select>
<select id="getWeekShiftData" resultType="WeekShiftData">
Select top 10 ScheduleDate,CONVERT(Varchar(200),
Select top 10 ScheduleDate,CONVERT(Varchar(200),b.CalendarDesc+':'+
(Case when ExceptDuration1!=0 then CONVERT(Varchar(10),Convert(float,ExceptTime1)) + '/' + CONVERT(Varchar(10),Convert(float,ExceptDuration1)) else '' end)
+' ; '+
(Case when ExceptDuration2!=0 then CONVERT(Varchar(10),Convert(float,ExceptTime2)) + '/' + CONVERT(Varchar(10),Convert(float,ExceptDuration2)) else '' end)
@ -214,13 +214,14 @@
(Case when ExceptDuration5!=0 then CONVERT(Varchar(10),Convert(float,ExceptTime5)) + '/' + CONVERT(Varchar(10),Convert(float,ExceptDuration5)) else '' end)
+' ; '+
(Case when ExceptDuration6!=0 then CONVERT(Varchar(10),Convert(float,ExceptTime6)) + '/' + CONVERT(Varchar(10),Convert(float,ExceptDuration6)) else '' end)
) as Info from Calendar_Exception
) as Info from Calendar_Exception a
left join calendar b on a.CalendarID=b.CalendarID and a.Site=b.Site
<where>
<if test="site != null and site != ''">
AND Site = #{site}
AND a.Site = #{site}
</if>
and CalendarID= #{calendarId}
and ScheduleDate>=#{scheduleDate}
and a.CalendarID= #{calendarId}
and a.ScheduleDate>=#{scheduleDate}
</where>
</select>
@ -328,4 +329,26 @@
<select id="getSOScheduledRoutingData" resultType="SOScheduledRoutingData">
select seqNo from SOScheduledRouting where S_ShiftNo=#{shiftNo} and site=#{site} and OrderNo=#{orderNo} and ItemNo= #{itemNo} and S_ScheduledDate=#{scheduleDate} and S_ResourceID=#{resourceID}
</select>
<select id="getPartCheckData" resultType="com.letian.modules.product.entity.PartCheckData">
Select convert(float,0) as ItemNo,T.ComponentPartNo,dbo.Get_PartDesc(T.Site,T.ComponentPartNo) as PartDesc,dbo.Get_Part_Spec(T.Site,T.ComponentPartNo) as PartSpec
,dbo.Get_Part_UMID(T.Site,T.ComponentPartNo) as PartUm
,Isnull(dbo.Get_PartQtyOnHand(T.Site,T.ComponentPartNo),0.0) as CalQtyOnHand
,(Case when sum(T.QtyAssembly * d.QtyRequired ) > Isnull(dbo.Get_PartQtyOnHand(T.Site,T.ComponentPartNo),0.0) then sum(T.QtyAssembly * d.QtyRequired) - Isnull(dbo.Get_PartQtyOnHand(T.Site,T.ComponentPartNo),0.0) else 0 end) as CalQtyShorage
,sum(T.QtyAssembly * d.QtyRequired) as QtyRequired from SOBOM as T,SOScheduledRouting as D
<where>
T.Site=D.Site and T.OrderNo=D.OrderNo
and T.Site=#{site}
and D.SeqNo in ( ${seqNoData} )
<if test="partNo != null and partNo != ''">
AND T.ComponentPartNo like #{partNo}
</if>
</where>
Group by T.Site,T.ComponentPartNo
<if test='checkFlag == "Y" '>
having (Case when sum(T.QtyAssembly * d.QtyRequired ) > Isnull(dbo.Get_PartQtyOnHand(T.Site,T.ComponentPartNo),0.0) then sum(T.QtyAssembly * d.QtyRequired) - Isnull(dbo.Get_PartQtyOnHand(T.Site,T.ComponentPartNo),0.0) else 0 end) >0
</if>
</select>
</mapper>
Loading…
Cancel
Save