diff --git a/src/main/java/com/gaotao/modules/orderIssure/entity/SOScheduledRoutingEntity.java b/src/main/java/com/gaotao/modules/orderIssure/entity/SOScheduledRoutingEntity.java index d79a756..aad0a35 100644 --- a/src/main/java/com/gaotao/modules/orderIssure/entity/SOScheduledRoutingEntity.java +++ b/src/main/java/com/gaotao/modules/orderIssure/entity/SOScheduledRoutingEntity.java @@ -6,6 +6,7 @@ import lombok.Data; import org.apache.ibatis.type.Alias; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.util.Date; @Data @@ -30,4 +31,5 @@ public class SOScheduledRoutingEntity extends Soscheduledrouting { private int limit; private int page; + private BigDecimal alreadyApplyTotal; } diff --git a/src/main/java/com/gaotao/modules/orderIssure/mapper/IssureNotifyMapper.java b/src/main/java/com/gaotao/modules/orderIssure/mapper/IssureNotifyMapper.java index d4cb655..1b9e9ff 100644 --- a/src/main/java/com/gaotao/modules/orderIssure/mapper/IssureNotifyMapper.java +++ b/src/main/java/com/gaotao/modules/orderIssure/mapper/IssureNotifyMapper.java @@ -126,6 +126,8 @@ public interface IssureNotifyMapper extends BaseMapper { void saveIssueNotifyChangeLog(IssueNotifyChangeLog data); + void batchSaveIssueNotifyChangeLog(List data); + List getSOIssueNotifyOrderListData(SOIssueNotifyOrderMaterialListData Data); List checkOtherPart(SOIssueNotifyOrderMaterialListData data); diff --git a/src/main/java/com/gaotao/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java b/src/main/java/com/gaotao/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java index 4ae0ca3..70861b1 100644 --- a/src/main/java/com/gaotao/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java +++ b/src/main/java/com/gaotao/modules/orderIssure/service/impl/IssureNotifyServiceImpl.java @@ -24,6 +24,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.ParseException; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -175,11 +176,8 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { @Override @Transactional public void deleteNotifySOSPlus(SOIssueNotifyOrderListData data){ - List checkDeleteOrderList=issureNotifyMapper.checkDeleteOrderList(data); - if(checkDeleteOrderList.size()>0){ - throw new RuntimeException("领料单内有明细记录无法删除!"); - } - issureNotifyMapper.deleteNotifySOS(data); + List issueNotifyChangeLogList = new ArrayList<>(); + //生成工单明细变更日志 IssueNotifyChangeLog issueNotifyChangeLog=new IssueNotifyChangeLog(); issueNotifyChangeLog.setSite(data.getSite()); issueNotifyChangeLog.setNotifyNo(data.getNotifyNo()); @@ -189,9 +187,45 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { issueNotifyChangeLog.setComponentPartNo(""); issueNotifyChangeLog.setQtyToIssue(null); issueNotifyChangeLog.setUpdateBy(String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername())); - issueNotifyChangeLog.setUpdateType("删除申请单派工单明细"); + issueNotifyChangeLog.setUpdateType("删除申请单工单明细"); issueNotifyChangeLog.setUpdateDate(new Date()); - issureNotifyMapper.saveIssueNotifyChangeLog(issueNotifyChangeLog); + issueNotifyChangeLogList.add(issueNotifyChangeLog); + // 检查是否有实际领料记录 生成工单明细变更日志 + SOIssueNotifyOrderMaterialListData materialDetaildata=new SOIssueNotifyOrderMaterialListData(); + materialDetaildata.setSite(data.getSite()); + materialDetaildata.setNotifyNo(data.getNotifyNo()); + materialDetaildata.setItemNo(data.getItemNo()); + //查询材料明细数据 + List checkDeleteMaterial=issureNotifyMapper.checkDeleteMaterial(materialDetaildata); + if(checkDeleteMaterial.size()>0){ + for (int i = 0; i 0){ + throw new RuntimeException("该行已有存在实际领料,无法删除!"); + } + + IssueNotifyChangeLog materialChangeLog=new IssueNotifyChangeLog(); + materialChangeLog.setSite(data.getSite()); + materialChangeLog.setNotifyNo(data.getNotifyNo()); + materialChangeLog.setItemNo(data.getItemNo()); + materialChangeLog.setComponentPartNo(checkDeleteMaterial.get(i).getComponentPartNo()); + materialChangeLog.setQtyToIssue(checkDeleteMaterial.get(i).getQtyToIssue()); + materialChangeLog.setUpdateBy(String.valueOf(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername())); + materialChangeLog.setUpdateType("删除申请单材料明细"); + materialChangeLog.setUpdateDate(new Date()); + materialChangeLog.setIssueType(checkDeleteMaterial.get(i).getIssueType()); + materialChangeLog.setsOOrderNo(data.getsOOrderNo()); + materialChangeLog.setSeqNo(data.getSeqNo()); + issueNotifyChangeLogList.add(materialChangeLog); + } + } + + //删除工单明细表 + issureNotifyMapper.deleteNotifySOS(data); + //删除材料明细表 + issureNotifyMapper.deleteNotifyMaterial(materialDetaildata); + //保存明细变更日志 + issureNotifyMapper.batchSaveIssueNotifyChangeLog(issueNotifyChangeLogList); + } @Override diff --git a/src/main/java/com/gaotao/modules/shopOrder/entity/SearchShopOrder.java b/src/main/java/com/gaotao/modules/shopOrder/entity/SearchShopOrder.java index e31f813..4003cbd 100644 --- a/src/main/java/com/gaotao/modules/shopOrder/entity/SearchShopOrder.java +++ b/src/main/java/com/gaotao/modules/shopOrder/entity/SearchShopOrder.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.gaotao.common.utils.QueryPage; import org.springframework.format.annotation.DateTimeFormat; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -89,6 +90,8 @@ public class SearchShopOrder extends QueryPage { private String batchNo; private String buNo; private List statusList; + private BigDecimal alreadyApplyTotal; + public String getOrderNo() { return orderNo; @@ -529,4 +532,12 @@ public class SearchShopOrder extends QueryPage { public void setStatusList(List statusList) { this.statusList = statusList; } + + public BigDecimal getAlreadyApplyTotal() { + return alreadyApplyTotal; + } + + public void setAlreadyApplyTotal(BigDecimal alreadyApplyTotal) { + this.alreadyApplyTotal = alreadyApplyTotal; + } } diff --git a/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml b/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml index e098bc6..ba52da1 100644 --- a/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml +++ b/src/main/resources/mapper/orderIssure/IssureNotifyMapper.xml @@ -78,7 +78,8 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu) select a.site,a.OrderNo orderno,a.ItemNo itemNo,b.OperationDesc itemDesc,a.seqno ,a.qtyrequired,a.qtyreported,a.remark, a.s_scheduleddate,a.S_ResourceID sResourceid,dbo.getResourceDesc(a.site,a.S_ResourceID) resourceDesc,a.S_ShiftNo sShiftno, dbo.getScheduleShiftDesc(a.site,a.s_shiftno) shiftDesc,a.s_workcenterno,s.PartNo partNo, - c.WorkCenterDesc workCenterDesc,dbo.Get_PartDesc(a.site,s.PartNo) partDesc + c.WorkCenterDesc workCenterDesc,dbo.Get_PartDesc(a.site,s.PartNo) partDesc, + (SELECT ROUND(SUM(issureQty),3) FROM SOIssueNotifyOrderList where Site = a.site and seqNo = a.seqno) alreadyApplyTotal from SOScheduledRouting a left join ShopOrder s on a.site=s.site and a.OrderNo=s.OrderNo left join SORouting b on a.site=b.site and a.OrderNo=b.OrderNo and b.ItemNo=a.ItemNo @@ -246,17 +247,17 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu) @@ -352,18 +353,26 @@ RecordVersion,OutWorkOrderFlag,ProjectID,OrderType,AuthRuleID,bu) where Site=#{site} and NotifyNo=#{notifyNo} insert into IssueNotifyChangeLog (Site,NotifyNo,ItemNo,SOOrderNo,SeqNo,ComponentPartNo,QtyToIssue,updateType,updateBy,updateDate,issueType) values (#{site},#{notifyNo},#{itemNo},#{sOOrderNo},#{seqNo},#{componentPartNo},#{qtyToIssue,jdbcType=DOUBLE},#{updateType},#{updateBy},#{updateDate},#{issueType}) + + insert into IssueNotifyChangeLog (Site,NotifyNo,ItemNo,SOOrderNo,SeqNo,ComponentPartNo,QtyToIssue,updateType,updateBy,updateDate,issueType) + values + + (#{item.site},#{item.notifyNo},#{item.itemNo},#{item.sOOrderNo},#{item.seqNo},#{item.componentPartNo},#{item.qtyToIssue,jdbcType=DOUBLE},#{item.updateType},#{item.updateBy},#{item.updateDate},#{item.issueType}) + + +