ソースを参照

后台 看板问题修改

chenc 4 年 前
コミット
93cd9602ac

+ 0 - 1
src/main/java/org/jeecg/modules/appInterface/entity/FbsWorkingStatistics.java

@@ -87,7 +87,6 @@ public class FbsWorkingStatistics implements Serializable {
 	/**订单id*/
 	@Excel(name = "订单id", width = 15)
 	private String orderId;
-
 	/**合格数量*/
 	@Excel(name = "合格数量", width = 15)
 	private String qualifiedNumber;

+ 9 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/mapper/FbsMomOrderdetailMapper.java

@@ -61,6 +61,15 @@ public interface FbsMomOrderdetailMapper extends BaseMapper<FbsMomOrderdetail> {
     */
     List<FbsMomOrderdetail> getMonthListStatre(@Param("fbsMomOrderdetail")FbsMomOrderdetail fbsMomOrderdetail);
 
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据月份查询
+    * @Date 2020/12/3 22:45
+    * @Param [month]
+    * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
+    */
+    List<FbsMomOrderdetail> getMonthListNotStatre(@Param("month")String month);
+
     /**
     * @Author chenchuang
     * @Description //TODO 制造看板:项目完工进度

+ 27 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderdetailMapper.xml

@@ -107,6 +107,33 @@
         m.createtime DESC
     </select>
 
+    <select id="getMonthListNotStatre" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
+        SELECT
+        m.MoId,
+        m.MoCode,
+        i.cInvCode,
+        i.cInvStd,
+        i.cInvName,
+        i.cInvDefine13,
+        mo.Qty,
+        mo.QualifiedInQty,
+        m.Define12
+        FROM
+        mom_orderdetail mo
+        LEFT JOIN mom_order m ON mo.MoId= m.MoId
+        LEFT JOIN Inventory i ON mo.InvCode= i.cInvCode
+        left join mom_morder mm on mo.MoDId=mm.MoDId
+        WHERE
+
+        <!--datediff(
+        MONTH,
+        mm.StartDate,
+        getdate()) =0-->
+        substring(m.MoCode, 3, 4)=#{month}
+        ORDER BY
+        m.createtime DESC
+    </select>
+
     <select id="getMonthListGroupDefine12" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
         SELECT Round(SUM
              (i.cInvDefine13 ),2) cInvDefine13,

+ 3 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/service/IFbsMomOrderdetailService.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.fbsMomOrder.service;
 
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -52,6 +53,8 @@ public interface IFbsMomOrderdetailService extends IService<FbsMomOrderdetail> {
 
     List<FbsMomOrderdetail> getMonthListStatre(FbsMomOrderdetail fbsMomOrderdetail);
 
+    List<FbsMomOrderdetail> getMonthListNotStatre(String month);
+
     /**
     * @Author chenchuang
     * @Description //TODO 制造看板:项目完工进度

+ 6 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderdetailServiceImpl.java

@@ -59,6 +59,12 @@ public class FbsMomOrderdetailServiceImpl extends ServiceImpl<FbsMomOrderdetailM
         return fbsMomOrderdetailMapper.getMonthListStatre(fbsMomOrderdetail);
     }
 
+    @Override
+    public List<FbsMomOrderdetail> getMonthListNotStatre(String month) {
+
+        return fbsMomOrderdetailMapper.getMonthListNotStatre(month);
+    }
+
     @Override
     public List<FbsMomOrderdetail> getMonthListGroupDefine12() {
         return fbsMomOrderdetailMapper.getMonthListGroupDefine12();

+ 7 - 0
src/main/java/org/jeecg/modules/fbsPuArrivalvouch/entity/FbsPuArrivalvouch.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.fbsPuArrivalvouch.entity;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
@@ -259,5 +260,11 @@ public class FbsPuArrivalvouch implements Serializable {
 	/** 供应商名称 */
 	@TableField(exist = false)
 	private String cVenName;
+	/** 数量 */
+	@TableField(exist = false)
+	private BigDecimal iquantity;
+	/** 数量 */
+	@TableField(exist = false)
+	private BigDecimal fvalidquantity;
 
 }

+ 5 - 2
src/main/java/org/jeecg/modules/fbsPuArrivalvouch/mapper/xml/FbsPuArrivalvouchMapper.xml

@@ -140,6 +140,8 @@
 
             <!--v.cVenName,-->
             p.cVenCode,
+            SUM (ISNULL(pa.fValidQuantity,0)) fvalidquantity,
+            SUM (ISNULL(pa.iQuantity,0)) iquantity,
             round( CAST (( SUM ( pa.fValidQuantity ) * 1.0 / SUM ( pa.iQuantity )) AS FLOAT ), 0 ) * 100 AS passRate
         FROM
             PU_ArrivalVouchs pa
@@ -216,7 +218,8 @@
         PU_ArrivalVouchs pa
         LEFT JOIN PU_ArrivalVouch p ON pa.ID= p.ID
         WHERE
-        (pa.iQuantity-pa.fRealQuantity)>0
+        (pa.fRealQuantity - pa.fValidInQuan) &gt; 0
+        <!--(pa.iQuantity-pa.fRealQuantity)>0 -->
 	    <!--and
         datediff(
         MONTH,
@@ -293,7 +296,7 @@
         q.CINVCODE cinvcode,
         i.cInvName cinvName,
         q.FDTQUANTITY fdtquantity,
-        q.FDISQUANTITY fdisquantity,
+        q.FDISBREAKQUANTITY fdisquantity,
         q.FQUANTITY fquantity,
         Q.CCHECKCODE as ccheckcode,
         q.CINSPECTCODE as cinspectcode

+ 36 - 0
src/main/java/org/jeecg/modules/fbsPuArrivalvouch/service/impl/FbsPuArrivalvouchServiceImpl.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.fbsPuArrivalvouch.service.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.modules.fbsPuArrivalvouch.entity.FbsPuArrivalvouch;
 import org.jeecg.modules.fbsPuArrivalvouch.mapper.FbsPuArrivalvouchMapper;
 import org.jeecg.modules.fbsPuArrivalvouch.service.IFbsPuArrivalvouchService;
@@ -9,11 +10,14 @@ import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import static org.jeecg.common.util.oConvertUtils.isEmpty;
+
 /**
  * @Description: 采购到货退货单主表(表头)
  * @author: jeecg-boot
@@ -76,15 +80,47 @@ public class FbsPuArrivalvouchServiceImpl extends ServiceImpl<FbsPuArrivalvouchM
     public Integer getNotInSum() {
         return fbsPuArrivalvouchMapper.getNotInSum();
     }
+    public BigDecimal getDecimal(Double d){
+        BigDecimal decimal= new BigDecimal(d);
+        return decimal;
+    }
+
+    private boolean isNumber(String str){
+        if(isEmpty(str)){
+            return false;
+        }
+        String reg = "\\d+(\\.\\d+)?";
+        return str.matches(reg);
 
+    }
+
+    public static String formatDouble5(double d) {
+        return String.format("%.2f", d);
+    }
     @Override
     public  Map<String,Object> getCheckRateByBatchno() {
         //获取合格率数据
         List<FbsPuArrivalvouch> fbsPuArrivalvouchList=fbsPuArrivalvouchMapper.getCheckRateByBatchno();
+        //质量异常合格数据
+        List<Map<String, Object>> qualityUnpassList=fbsPuArrivalvouchMapper.getQualityUnpassList();
         //封装map数据
         Map<String,Object> map=new LinkedHashMap<>();
         if(fbsPuArrivalvouchList!=null){
             for(FbsPuArrivalvouch fbsPuArrivalvouch:fbsPuArrivalvouchList){
+                BigDecimal unQuality=new BigDecimal("0.00");
+                //找到对应供应商的不良品异常数量
+                for(Map<String, Object> unMap:qualityUnpassList){
+                    if(StringUtils.isNotBlank(fbsPuArrivalvouch.getCvencode())&&StringUtils.isNotBlank(String.valueOf(unMap.get("cvencode")))){
+                        if(fbsPuArrivalvouch.getCvencode().equals(String.valueOf(unMap.get("cvencode")))){
+                            unQuality=unQuality.add(getDecimal(Double.valueOf(String.valueOf(unMap.get("fdisquantity")))));
+                        }
+                    }
+                }
+                //总数量减去不良品数量
+                BigDecimal yesQua=new BigDecimal("0.00");
+                yesQua=fbsPuArrivalvouch.getFvalidquantity().subtract(unQuality);
+                //获取良品合格率
+                fbsPuArrivalvouch.setPassRate((yesQua.divide(fbsPuArrivalvouch.getIquantity(), 2, BigDecimal.ROUND_HALF_UP).multiply(getDecimal(100.0))).doubleValue()+"");
                 map.put(fbsPuArrivalvouch.getCvencode(),fbsPuArrivalvouch.getPassRate());
             }
         }

+ 17 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/controller/FbsWorkshopDispatchListController.java

@@ -460,6 +460,23 @@ public class FbsWorkshopDispatchListController {
 		 return result;
 	 }
 
+	 @GetMapping(value = "/export")
+	 public Result<List<FbsWorkshopDispatchList>> export(String month){
+		 Result<List<FbsWorkshopDispatchList>> result=new Result<>();
+		 try {
+		 	//erp数据
+			 List<FbsMomOrderdetail> fbsMomOrderdetailList= iFbsMomOrderdetailService.getMonthListNotStatre(month);
+			 //派工数据
+			 List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListService.export(fbsMomOrderdetailList,month);
+			 result.setResult(fbsWorkshopDispatchListList);
+			 result.success("操作成功");
+		 } catch (Exception e) {
+			 e.printStackTrace();
+			 result.error500("操作失败:"+e.getMessage());
+		 }
+		 return result;
+	 }
+
 
 	 /**
 	 * @Author chenchuang

+ 9 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/FbsWorkshopDispatchListMapper.java

@@ -77,6 +77,15 @@ public interface FbsWorkshopDispatchListMapper extends BaseMapper<FbsWorkshopDis
 
     List<FbsWorkshopDispatchList> getDispatchClose(@Param("startDate")String startDate,@Param("endDate")String endDate );
 
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据年月获取派工数据
+    * @Date 2020/12/3 22:27
+    * @Param [month]
+    * @return java.util.List<org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList>
+    */
+    List<FbsWorkshopDispatchList> getSumDispatchNumber(@Param("month")String month);
+
     /**
     * @Author chenchuang
     * @Description //TODO  标准工时与实际工时对比

+ 19 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/xml/FbsWorkshopDispatchListMapper.xml

@@ -47,6 +47,25 @@
             production_line_name
     </select>
 
+    <select id="getSumDispatchNumber" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
+        SELECT
+        *,
+        planned_quantity AS planned_quantity,
+        FORMAT((planned_quantity*standard_working_hours_z),2) AS standard_working_hours_z,
+        sum( latest_completed_quantity ) AS latest_completed_quantity,
+        sum(man_hours_completed) as manHoursCompletedTotal
+        FROM
+        fbs_workshop_dispatch_list
+        where del_flag='0'
+        <if test="month!=null and month!=''">
+            AND substring(production_order_number_name, 3, 4)=#{month}
+        </if>
+        GROUP BY
+        production_order_number_id,product_id
+        ORDER BY
+        production_line_name
+    </select>
+
     <select id="getDispatchClose" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
        <!-- SELECT
             fwdl.* ,fws.qualified_number,fws.end_date,convert(fwdl.man_hours_completed/fwdl.standard_working_hours,decimal(15,2))*100 as productionEfficiency

+ 1 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/IFbsWorkshopDispatchListService.java

@@ -29,6 +29,7 @@ public interface IFbsWorkshopDispatchListService extends IService<FbsWorkshopDis
     */
     List<FbsWorkshopDispatchList> getSumDispatch(List<FbsMomOrderdetail> fbsMomOrderdetailList);
 
+    public List<FbsWorkshopDispatchList> export(List<FbsMomOrderdetail> fbsMomOrderdetailList,String month);
 
     /**
     * @Author chenchuang

+ 30 - 1
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/impl/FbsWorkshopDispatchListServiceImpl.java

@@ -125,12 +125,14 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
                     dispatchListSum.setQuantityCompletedTotal(quantityCompletedTotal);
                 }
                 if(manHoursCompletedTotal.doubleValue()!=0){
-                    dispatchListSum.setManHoursCompletedTotal(manHoursCompletedTotal.doubleValue()+"");
+                    dispatchListSum.setManHoursCompletedTotal(formatDouble5(manHoursCompletedTotal.doubleValue()));
                 }
                 dispatchListSum.setFbsWorkshopDispatchListList(dispatchListAdd);
             }
         }
 
+
+
         //获取生产名称合并行
         mergeLines(fbsWorkshopDispatchListListSum);
         //获取统计信息
@@ -138,6 +140,33 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         return fbsWorkshopDispatchListListSum;
     }
 
+
+    public List<FbsWorkshopDispatchList> export(List<FbsMomOrderdetail> fbsMomOrderdetailList,String month){
+        //erp数据
+        List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListErp=new ArrayList<>();
+        getWorkshopDispatchListListSum(fbsWorkshopDispatchListListErp,fbsMomOrderdetailList);
+        //派工数据
+        List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=fbsWorkshopDispatchListMapper.getSumDispatchNumber(month);
+        if(fbsWorkshopDispatchListListErp!=null&&fbsWorkshopDispatchListListSum!=null){
+            for(FbsWorkshopDispatchList dispatchListErp:fbsWorkshopDispatchListListErp){
+                for(FbsWorkshopDispatchList dispatchListSum:fbsWorkshopDispatchListListSum){
+                    String orderIdSum=dispatchListSum.getProductionOrderNumberName();//求和的派工生产单号
+                    String orderId=dispatchListErp.getProductionOrderNumberName();//erp派工生产单号
+                    String proSum=dispatchListSum.getProductId();//求和中的产品id
+                    String pro=dispatchListErp.getProductId();//erp中的产品id
+                    //找到对应当天的派工单则添加
+                    if(orderIdSum.equals(orderId)&&proSum.equals(pro)){
+                        dispatchListErp.setPlannedQuantity(dispatchListSum.getPlannedQuantity());
+                        dispatchListErp.setStandardWorkingHoursZ(dispatchListSum.getStandardWorkingHoursZ());
+                        dispatchListErp.setLatestCompletedQuantity(dispatchListSum.getLatestCompletedQuantity());
+                        dispatchListErp.setManHoursCompletedTotal(dispatchListSum.getManHoursCompletedTotal());
+                    }
+                }
+            }
+        }
+        return fbsWorkshopDispatchListListErp;
+    }
+
     //获取erp中的订单数据
     public void getWorkshopDispatchListListSum(List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum,List<FbsMomOrderdetail> fbsMomOrderdetailList){