|
@@ -1,6 +1,8 @@
|
|
|
package org.jeecg.modules.fbsMomOrder.service.impl;
|
|
|
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
+import io.swagger.models.auth.In;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail;
|
|
|
import org.jeecg.modules.fbsMomOrder.mapper.FbsMomOrderdetailMapper;
|
|
|
import org.jeecg.modules.fbsMomOrder.service.IFbsMomOrderdetailService;
|
|
@@ -9,6 +11,7 @@ import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
@@ -138,8 +141,118 @@ public class FbsMomOrderdetailServiceImpl extends ServiceImpl<FbsMomOrderdetailM
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<FbsMomOrderdetail> getListByOrderSheetNow() {
|
|
|
- return null;
|
|
|
+ public List<FbsMomOrderdetail> getListByOrderSheetNow(String type) {
|
|
|
+ //保存子件
|
|
|
+ List<FbsMomOrderdetail> fbsMomOrderdetailListAdd=new ArrayList<>();
|
|
|
+ //保存子子件
|
|
|
+ List<FbsMomOrderdetail> fbsMomOrderdetailListChildAdd=new ArrayList<>();
|
|
|
+ //订单子子件明细
|
|
|
+ List<FbsMomOrderdetail> fbsMomOrderdetailList=fbsMomOrderdetailMapper.getMomMoallocate();
|
|
|
+ //现存量
|
|
|
+ List<FbsMomOrderdetail> currentStockList=fbsMomOrderdetailMapper.getListByOrderSheetCurrentStock();
|
|
|
+ if(fbsMomOrderdetailList!=null&&fbsMomOrderdetailList.size()>0){
|
|
|
+ Integer qtysTotal=0;//数量总计
|
|
|
+ Integer issQtyTotal=0;//已领总计
|
|
|
+ Integer shortageQuantityTotal=0;//缺料总计
|
|
|
+ String name="";
|
|
|
+ FbsMomOrderdetail fbsMomOrderdetailAdd=new FbsMomOrderdetail();
|
|
|
+ /////////////子件
|
|
|
+ for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
|
|
|
+ //如果本次循环与上次的生产订单不同则添加上一个订单信息
|
|
|
+ if(!name.equals(fbsMomOrderdetail.getMocode())&&!name.equals("")){
|
|
|
+ fbsMomOrderdetailAdd.setQtys(qtysTotal);
|
|
|
+ fbsMomOrderdetailAdd.setIssQty(issQtyTotal);
|
|
|
+ fbsMomOrderdetailAdd.setShortageQuantity(shortageQuantityTotal);
|
|
|
+ fbsMomOrderdetailListAdd.add(fbsMomOrderdetailAdd);
|
|
|
+ qtysTotal=0;
|
|
|
+ issQtyTotal=0;
|
|
|
+ shortageQuantityTotal=0;
|
|
|
+ }
|
|
|
+ Integer qtys=0;//数量
|
|
|
+ if(StringUtils.isNotBlank(fbsMomOrderdetail.getQtys()+"")){
|
|
|
+ qtys=fbsMomOrderdetail.getQtys();
|
|
|
+ }
|
|
|
+ Integer issQty=0;//已领
|
|
|
+ if(StringUtils.isNotBlank(fbsMomOrderdetail.getIssQty()+"")){
|
|
|
+ issQty=fbsMomOrderdetail.getIssQty();
|
|
|
+ }
|
|
|
+ //////////////////现存量库存
|
|
|
+ for(FbsMomOrderdetail currentStock:currentStockList){
|
|
|
+ //找到库存对应的订单数量
|
|
|
+ if(fbsMomOrderdetail.getMInvCode().equals(currentStock.getCinvcode())){
|
|
|
+ Integer qtysStock=0;//库存数量
|
|
|
+ qtysStock=currentStock.getMaterialPreparationTotal();
|
|
|
+ //是否小于库存 小于则缺料
|
|
|
+ if(qtysStock<(qtys-issQty)){
|
|
|
+ fbsMomOrderdetail.setShortageQuantity(qtys-issQty-qtysStock);
|
|
|
+ }else {
|
|
|
+ fbsMomOrderdetail.setShortageQuantity(0);
|
|
|
+ }
|
|
|
+ //剩余库存数量
|
|
|
+ currentStock.setMaterialPreparationTotal(qtysStock-(qtys-issQty));
|
|
|
+ //缺料数量
|
|
|
+// shortageQuantityTotal=fbsMomOrderdetail.getShortageQuantity();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ fbsMomOrderdetailAdd=fbsMomOrderdetail;
|
|
|
+ name=fbsMomOrderdetail.getMocode();
|
|
|
+ //累加
|
|
|
+ if(StringUtils.isNotBlank(fbsMomOrderdetail.getQtys()+"")){
|
|
|
+ qtysTotal=qtysTotal+qtys;
|
|
|
+ }
|
|
|
+ if(StringUtils.isNotBlank(fbsMomOrderdetail.getIssQty()+"")){
|
|
|
+ issQtyTotal=issQtyTotal+issQty;
|
|
|
+ }
|
|
|
+ if(fbsMomOrderdetail.getShortageQuantity()==null){
|
|
|
+ fbsMomOrderdetail.setShortageQuantity(qtys-issQty);
|
|
|
+ }
|
|
|
+ System.out.println(qtys);
|
|
|
+ System.out.println(issQty);
|
|
|
+ System.out.println(fbsMomOrderdetail.getShortageQuantity());
|
|
|
+
|
|
|
+ shortageQuantityTotal=shortageQuantityTotal+fbsMomOrderdetail.getShortageQuantity();
|
|
|
+ //获取缺料明细
|
|
|
+ if(fbsMomOrderdetail.getShortageQuantity()>0){
|
|
|
+ fbsMomOrderdetailListChildAdd.add(fbsMomOrderdetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //添加最后一个缺料信息
|
|
|
+ fbsMomOrderdetailAdd.setQtys(qtysTotal);
|
|
|
+ fbsMomOrderdetailAdd.setIssQty(issQtyTotal);
|
|
|
+ fbsMomOrderdetailAdd.setShortageQuantity(shortageQuantityTotal);
|
|
|
+ fbsMomOrderdetailListAdd.add(fbsMomOrderdetailAdd);
|
|
|
+ }
|
|
|
+
|
|
|
+ if(type.equals("1")){//缺料齐套
|
|
|
+ return fbsMomOrderdetailListAdd;
|
|
|
+ }else if(type.equals("2")){//齐套
|
|
|
+ List<FbsMomOrderdetail> fbsMomOrderdetailListQitao=new ArrayList<>();
|
|
|
+ for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailListAdd){
|
|
|
+ if(fbsMomOrderdetail.getShortageQuantity()!=null&&fbsMomOrderdetail.getShortageQuantity()<=0){
|
|
|
+ fbsMomOrderdetailListQitao.add(fbsMomOrderdetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return fbsMomOrderdetailListQitao;
|
|
|
+ }else if(type.equals("3")){//缺料明细
|
|
|
+ return fbsMomOrderdetailListChildAdd;
|
|
|
+ }else {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ public BigDecimal getDecimalNew(String d){
|
|
|
+ BigDecimal decimal= new BigDecimal(d);
|
|
|
+ return decimal;
|
|
|
+ }
|
|
|
+ @Override
|
|
|
+ public List<FbsMomOrderdetail> getMomMoallocateByMoCode(String moCode) {
|
|
|
+ return fbsMomOrderdetailMapper.getMomMoallocateByMoCode(moCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<FbsMomOrderdetail> getListByOrderSheetCurrentStock() {
|
|
|
+ return fbsMomOrderdetailMapper.getListByOrderSheetCurrentStock();
|
|
|
}
|
|
|
|
|
|
|