ruanqi 2 years ago
parent
commit
7e7eac76b4
  1. 8
      src/main/java/com/xujie/sys/modules/orderIssure/controller/IssureNotifyController.java
  2. 6
      src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyOrderMaterialListData.java
  3. 2
      src/main/java/com/xujie/sys/modules/orderIssure/service/IssureNotifyService.java
  4. 12
      src/main/java/com/xujie/sys/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java
  5. 9
      src/main/java/com/xujie/sys/modules/orderIssure/vo/SOIssueNotifyOrderMaterialList.java
  6. 42
      src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml

8
src/main/java/com/xujie/sys/modules/orderIssure/controller/IssureNotifyController.java

@ -261,8 +261,12 @@ public class IssureNotifyController {
issureNotifyService.deleteNotifyMaterial(data);
return R.ok();
}
@PostMapping(value="/deleteNotifyMaterialWithOutLog")
@ResponseBody
public R deleteNotifyMaterialWithOutLog(@RequestBody SOIssueNotifyOrderMaterialListData data) {
issureNotifyService.deleteNotifyMaterialWithOutLog(data);
return R.ok();
}
/**
* @Description 保存非bom和管控物料
* @Title saveOtherPart

6
src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyOrderMaterialListData.java

@ -1,10 +1,13 @@
package com.xujie.sys.modules.orderIssure.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xujie.sys.modules.orderIssure.vo.SOIssueNotifyOrderMaterialList;
import lombok.Data;
import org.apache.ibatis.type.Alias;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Alias("SOIssueNotifyOrderMaterialListData")
@ -18,6 +21,9 @@ public class SOIssueNotifyOrderMaterialListData extends SOIssueNotifyOrderMateri
private String locationNo;
private String str;
private Double stockQty;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
private Date needDate;
/**
*
*/

2
src/main/java/com/xujie/sys/modules/orderIssure/service/IssureNotifyService.java

@ -116,7 +116,7 @@ public interface IssureNotifyService {
void updateNotifyStatus(SOIssueNotifyHeaderData data);
void deleteNotifyMaterial(SOIssueNotifyOrderMaterialListData data);
void deleteNotifyMaterialWithOutLog(SOIssueNotifyOrderMaterialListData data);
void saveOtherPart(SOIssueNotifyOrderMaterialListData data);

12
src/main/java/com/xujie/sys/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java

@ -235,7 +235,19 @@ public class IssureNotifyServiceImpl implements IssureNotifyService {
issueNotifyChangeLog.setIssueType(data.getIssueType());
issureNotifyMapper.saveIssueNotifyChangeLog(issueNotifyChangeLog);
}
@Override
@Transactional
public void deleteNotifyMaterialWithOutLog(SOIssueNotifyOrderMaterialListData data){
List<SOIssueNotifyOrderMaterialListData> checkDeleteMaterial=issureNotifyMapper.checkDeleteMaterial(data);
if(checkDeleteMaterial.size()==0){
throw new RuntimeException("该记录已不存在!");
}
if(checkDeleteMaterial.get(0).getQtyToIssueOriginal()>0.0){
throw new RuntimeException("该记录已有领料记录无法删除!");
}
issureNotifyMapper.deleteNotifyMaterial(data);
}
@Override
public void saveOtherPart(SOIssueNotifyOrderMaterialListData data){
List<SOIssueNotifyOrderMaterialListData> checkOtherPart=issureNotifyMapper.checkOtherPart(data);

9
src/main/java/com/xujie/sys/modules/orderIssure/vo/SOIssueNotifyOrderMaterialList.java

@ -39,6 +39,7 @@ public class SOIssueNotifyOrderMaterialList {
*/
private Double qtyToIssueOriginal;
private String issueType;
private String remark;
public String getNotifyNo() {
return notifyNo;
}
@ -103,5 +104,13 @@ public class SOIssueNotifyOrderMaterialList {
public void setIssueType(String issueType) {
this.issueType = issueType;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}

42
src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml

@ -96,32 +96,32 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu)
select a.site,b.ItemNo,a.item_no_mat as BOMItemNo,a.component_partno as ComponentPartNo,
round(a.qty_assembly*b.IssureQty,2) qty_required , round(a.qty_issue,2) qty_issue,c.QtyToIssue,#{notifyNo} as notifyNo
,dbo.Get_PartDesc(a.site,a.component_partno) partDesc,Round( dbo.get_MaterialOnUse(a.site,a.order_no,a.item_no,a.component_partno),3) qtyOnHand,
round(sum(h.qty_on_hand),2) stockQty
round(sum(h.qty_on_hand),2) stockQty,c.remark
from so_bom a
left join SOIssueNotifyOrderList b on a.site=b.site and b.NotifyNo=#{notifyNo} and b.seqNo=#{seqno}
left join SOIssueNotifyOrderMaterialList c on a.site=c.site and a.item_no_mat=c.BOMItemNo and c.NotifyNo=#{notifyNo} and c.itemNo=b.itemNo
left join view_custdev_currentstock h on a.site=h.site and a.component_partno=h.part_no
<!-- left join SOIssueNotifyOrderList d on a.site=d.site and c.NotifyNo=d.NotifyNo and c.itemNo=d.itemNo-->
where a.site=#{site} and a.order_no=#{orderno} and a.item_no=#{itemno,jdbcType=DOUBLE} and a.control_mes='Y'
group by a.site,b.ItemNo,a.item_no_mat,a.component_partno,a.qty_assembly,b.IssureQty,a.qty_issue,c.QtyToIssue,a.order_no,a.item_no,a.control_mes
UNION all
select b.site,b.ItemNo,c.BOMItemNo,c.ComponentPartNo,
null as qty_required , null qty_issue,c.QtyToIssue,#{notifyNo} as notifyNo
,dbo.Get_PartDesc(c.site,c.ComponentPartNo) partDesc,Round( dbo.get_MaterialOnUse(b.site,b.SOOrderNo ,b.OpsItemNo,c.ComponentPartNo),3) qtyOnHand,
round(sum(h.qty_on_hand),2) stockQty
from SOIssueNotifyOrderList b
left join SOIssueNotifyOrderMaterialList c on b.site=c.site and c.NotifyNo=#{notifyNo} and c.itemNo=b.itemNo
left join so_bom a on a.site=b.site and a.order_no=b.SOOrderNo and a.item_no=b.OpsItemNo and a.control_mes='Y'
and a.component_partno=c.ComponentPartNo
left join view_custdev_currentstock h on c.site=h.site and c.ComponentPartNo=h.part_no
WHERE b.NotifyNo=#{notifyNo} and b.seqNo=#{seqno} and b.site=#{site} and a.item_no_mat is null and c.ComponentPartNo is not null
group by b.site,b.ItemNo,c.BOMItemNo,c.ComponentPartNo,c.QtyToIssue,c.site,b.SOOrderNo ,b.OpsItemNo
group by a.site,b.ItemNo,a.item_no_mat,a.component_partno,a.qty_assembly,b.IssureQty,a.qty_issue,c.QtyToIssue,a.order_no,a.item_no,a.control_mes,c.remark
<!-- UNION all-->
<!-- select b.site,b.ItemNo,c.BOMItemNo,c.ComponentPartNo,-->
<!-- null as qty_required , null qty_issue,c.QtyToIssue,#{notifyNo} as notifyNo-->
<!-- ,dbo.Get_PartDesc(c.site,c.ComponentPartNo) partDesc,Round( dbo.get_MaterialOnUse(b.site,b.SOOrderNo ,b.OpsItemNo,c.ComponentPartNo),3) qtyOnHand,-->
<!-- round(sum(h.qty_on_hand),2) stockQty,c.remark-->
<!-- from SOIssueNotifyOrderList b-->
<!-- left join SOIssueNotifyOrderMaterialList c on b.site=c.site and c.NotifyNo=#{notifyNo} and c.itemNo=b.itemNo-->
<!-- left join so_bom a on a.site=b.site and a.order_no=b.SOOrderNo and a.item_no=b.OpsItemNo and a.control_mes='Y'-->
<!-- and a.component_partno=c.ComponentPartNo-->
<!-- left join view_custdev_currentstock h on c.site=h.site and c.ComponentPartNo=h.part_no-->
<!-- WHERE b.NotifyNo=#{notifyNo} and b.seqNo=#{seqno} and b.site=#{site} and a.item_no_mat is null and c.ComponentPartNo is not null-->
<!-- group by b.site,b.ItemNo,c.BOMItemNo,c.ComponentPartNo,c.QtyToIssue,c.site,b.SOOrderNo ,b.OpsItemNo,c.remark-->
</select>
<select id="searchOtherPart" resultType="SOIssueNotifyOrderMaterialListData">
select NotifyNo,Site,ItemNo,BOMItemNo,ComponentPartNo,QtyToIssue,QtyToIssue_Original,issueType
,dbo.Get_PartDesc(site,ComponentPartNo) partDesc
,dbo.Get_PartDesc(site,ComponentPartNo) partDesc,remark
from SOIssueNotifyOrderMaterialList where NotifyNo=#{notifyNo} and site=#{site} and issueType=#{issueType}
</select>
<select id="getNextItemForSOIssueNotifyOrderList" resultType="Double">
@ -138,18 +138,18 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu)
</delete>
<insert id="batchSaveSOIssueNotifyOrderMaterialListData">
insert into SOIssueNotifyOrderMaterialList (NotifyNo,Site,ItemNo,BOMItemNo,ComponentPartNo,QtyToIssue,QtyToIssue_Original,issueType)
insert into SOIssueNotifyOrderMaterialList (NotifyNo,Site,ItemNo,BOMItemNo,ComponentPartNo,QtyToIssue,QtyToIssue_Original,issueType,remark)
values
<foreach collection="list" separator="," item="item">
(#{item.notifyNo},#{item.site},#{item.itemNo},#{item.bOMItemNo},#{item.componentPartNo},#{item.qtyToIssue},0,#{item.issueType})
(#{item.notifyNo},#{item.site},#{item.itemNo},#{item.bOMItemNo},#{item.componentPartNo},#{item.qtyToIssue},0,#{item.issueType},#{item.remark})
</foreach>
</insert>
<insert id="saveSOIssueNotifyOrderMaterialListData">
insert into SOIssueNotifyOrderMaterialList (NotifyNo,Site,ItemNo,BOMItemNo,ComponentPartNo,QtyToIssue,QtyToIssue_Original,issueType)
insert into SOIssueNotifyOrderMaterialList (NotifyNo,Site,ItemNo,BOMItemNo,ComponentPartNo,QtyToIssue,QtyToIssue_Original,issueType,remark)
values
(#{notifyNo},#{site},#{itemNo},#{bOMItemNo},#{componentPartNo},#{qtyToIssue},0,#{issueType})
(#{notifyNo},#{site},#{itemNo},#{bOMItemNo},#{componentPartNo},#{qtyToIssue},0,#{issueType},#{remark})
</insert>
@ -220,11 +220,11 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu)
<select id="searchNotifyMaterialList" resultType="SOIssueNotifyOrderMaterialListData">
select a.NotifyNo,a.Site,a.ItemNo,a.BOMItemNo,a.ComponentPartNo,a.QtyToIssue,a.QtyToIssue_Original
,b.FGPartNo,b.OpsItemNo,b.SOOrderNo orderNo,b.SeqNo, dbo.Get_PartDesc(a.site,a.ComponentPartNo) partDesc
,b.locationNo,a.issueType
,b.locationNo,a.issueType,b.needDate
from SOIssueNotifyOrderMaterialList a
left join SOIssueNotifyOrderList b on a.site=b.site and a.NotifyNo=b.NotifyNo and a.ItemNo=b.ItemNo
where a.NotifyNo=#{notifyNo} and a.site=#{site}
order by a.ItemNo
order by b.needDate,a.ItemNo
</select>
<select id="searchSumNotifyMaterialList" resultType="SOIssueNotifyOrderMaterialListData">

Loading…
Cancel
Save