diff --git a/src/main/java/com/xujie/sys/modules/orderIssure/controller/IssureNotifyController.java b/src/main/java/com/xujie/sys/modules/orderIssure/controller/IssureNotifyController.java index 2acfe158..303603f8 100644 --- a/src/main/java/com/xujie/sys/modules/orderIssure/controller/IssureNotifyController.java +++ b/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 diff --git a/src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyOrderMaterialListData.java b/src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyOrderMaterialListData.java index 1dcb64ef..86fd8afb 100644 --- a/src/main/java/com/xujie/sys/modules/orderIssure/entity/SOIssueNotifyOrderMaterialListData.java +++ b/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; /** * */ diff --git a/src/main/java/com/xujie/sys/modules/orderIssure/service/IssureNotifyService.java b/src/main/java/com/xujie/sys/modules/orderIssure/service/IssureNotifyService.java index bc55f83c..8c2dcfa7 100644 --- a/src/main/java/com/xujie/sys/modules/orderIssure/service/IssureNotifyService.java +++ b/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); diff --git a/src/main/java/com/xujie/sys/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java b/src/main/java/com/xujie/sys/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java index 1b334828..c591f69d 100644 --- a/src/main/java/com/xujie/sys/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java +++ b/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 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 checkOtherPart=issureNotifyMapper.checkOtherPart(data); diff --git a/src/main/java/com/xujie/sys/modules/orderIssure/vo/SOIssueNotifyOrderMaterialList.java b/src/main/java/com/xujie/sys/modules/orderIssure/vo/SOIssueNotifyOrderMaterialList.java index 3b5174a0..1d5e7cf8 100644 --- a/src/main/java/com/xujie/sys/modules/orderIssure/vo/SOIssueNotifyOrderMaterialList.java +++ b/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; + } } diff --git a/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml b/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml index e97eb04e..45dfcdb1 100644 --- a/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml +++ b/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 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 + + + + + + + + + + + + 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