chenc 4 anni fa
parent
commit
79e5c373e7

+ 20 - 4
src/main/java/org/jeecg/modules/appInterface/controller/FbsWorkingStatisticsController.java

@@ -169,6 +169,19 @@ public class FbsWorkingStatisticsController {
 			 res.setMsg("该订单还没有派工"+entity.getOrderNumber());
 			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
 		 }
+
+		 BigDecimal numberOfTasks=list.get(0).getNumberOfTasks();
+		 BigDecimal latestCompletedQuantity=new BigDecimal("0.0");
+		 String latestCompletedQuantityString=list.get(0).getLatestCompletedQuantity();
+		 if(StringUtils.isNotBlank(latestCompletedQuantityString)){
+			 latestCompletedQuantity=getDecimal(Double.valueOf(latestCompletedQuantityString));
+		 }
+		 if(numberOfTasks.doubleValue()==latestCompletedQuantity.doubleValue()){
+			 res.setCode("1");
+			 res.setMsg("该订单已完工"+entity.getOrderNumber());
+			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
+		 }
+
 //		 if(list.get(0).getPlannedQuantity().doubleValue()==Double.valueOf(list.get(0).getLatestCompletedQuantity())){
 //			 res.setCode("1");
 //			 res.setMsg("该订单计划数量已经全部入库"+entity.getOrderNumber());
@@ -216,7 +229,10 @@ public class FbsWorkingStatisticsController {
 		 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
 	 }
 
-
+	 public BigDecimal getDecimal(Double d){
+		 BigDecimal decimal= new BigDecimal(d);
+		 return decimal;
+	 }
 
 	 /**
 	  * 下岗/暂停
@@ -767,10 +783,10 @@ public class FbsWorkingStatisticsController {
 		QueryWrapper<FbsWorkingStatistics> queryWrapper = QueryGenerator.initQueryWrapper(fbsWorkingStatistics, req.getParameterMap());
 		queryWrapper.lambda().eq(FbsWorkingStatistics::getDelFlag,"0");
 		if(StringUtils.isNotBlank(start)&&StringUtils.isNotBlank(end)&&!start.equals("null")&&!end.equals("null")){
-			queryWrapper.ge("DATE_FORMAT(first_time,'%Y-%m-%d')",start);
-			queryWrapper.le("DATE_FORMAT(first_time,'%Y-%m-%d')",end);
+			queryWrapper.ge("DATE_FORMAT(final_time,'%Y-%m-%d')",start);
+			queryWrapper.le("DATE_FORMAT(final_time,'%Y-%m-%d')",end);
 		}else {
-			queryWrapper.apply("DATE_FORMAT( first_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
+			queryWrapper.apply("DATE_FORMAT( final_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
 		}
 		if(StringUtils.isNotBlank(orderNumber)){
 			queryWrapper.lambda().like(FbsWorkingStatistics::getOrderNumber,orderNumber);

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

@@ -152,4 +152,13 @@ public interface FbsMomOrderdetailMapper extends BaseMapper<FbsMomOrderdetail> {
     * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
     */
     List<FbsMomOrderdetail> getListByOrderSheetEnough();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 获取最近90订单数据
+    * @Date 2021/1/7 13:33
+    * @Param []
+    * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
+    */
+    List<FbsMomOrderdetail> getLatelyDayMomOrderList();
 }

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

@@ -366,4 +366,16 @@
         WHERE
         mas.iQuantity - mas.fOutQuantity <![CDATA[ <=]]>0
     </select>
+
+    <select id="getLatelyDayMomOrderList" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
+        SELECT
+            mo.MoCode,
+            mod.QualifiedInQty,
+            mo.CreateTime
+        FROM
+          mom_order mo
+        LEFT JOIN mom_orderdetail MOD ON mo.MoId = MOD.MoId
+        WHERE
+            DateDiff( dd, mo.CreateTime, getdate ( ) ) <![CDATA[ <=]]> 90
+    </select>
 </mapper>

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

@@ -118,4 +118,13 @@ public interface IFbsMomOrderdetailService extends IService<FbsMomOrderdetail> {
     * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
     */
     List<FbsMomOrderdetail> getListByOrderSheetEnough();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 获取最近90订单数据
+    * @Date 2021/1/7 13:35
+    * @Param []
+    * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
+    */
+    List<FbsMomOrderdetail> getLatelyDayMomOrderList();
 }

+ 5 - 1
src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderdetailServiceImpl.java

@@ -127,9 +127,13 @@ public class FbsMomOrderdetailServiceImpl extends ServiceImpl<FbsMomOrderdetailM
         return null;
     }
 
+    @Override
+    public List<FbsMomOrderdetail> getLatelyDayMomOrderList() {
+        return fbsMomOrderdetailMapper.getLatelyDayMomOrderList();
+    }
 
 
-        @Override
+    @Override
     public List<FbsMomOrderdetail> getApplyList() {
         return fbsMomOrderdetailMapper.getApplyList();
     }

+ 3 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/entity/FbsWorkshopDispatchList.java

@@ -198,6 +198,9 @@ public class FbsWorkshopDispatchList implements Serializable {
 	//单日完成工时
 	private String  manHoursCompleted;
 
+	//更新完成数量与U8完成数量对比备注
+	private String latestCompletedQuantityU8Memo;
+
 	//累计完成工时
     @TableField(exist = false)
     private String manHoursCompletedTotal;

+ 102 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/job/FbsLatestCompletedQuantityUpdateJob.java

@@ -0,0 +1,102 @@
+package org.jeecg.modules.fbsWorkshopDispatchList.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.jeecg.modules.appInterface.entity.FbsWorkingStatistics;
+import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail;
+import org.jeecg.modules.fbsMomOrder.service.IFbsMomOrderdetailService;
+import org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList;
+import org.jeecg.modules.fbsWorkshopDispatchList.service.IFbsWorkshopDispatchListService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 功能描述:
+ *
+ * @Author: chenchuang
+ * @Date: 2021/1/7 10:36
+ */
+public class FbsLatestCompletedQuantityUpdateJob implements Job {
+    @Autowired
+    IFbsWorkshopDispatchListService iFbsWorkshopDispatchListService;
+
+    @Autowired
+    IFbsMomOrderdetailService iFbsMomOrderdetailService;
+
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        System.out.println("9999999999999999999999999999");
+//        show();
+
+    }
+
+    public void show(){
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
+        //最近90天的派工数据
+//        QueryWrapper<FbsWorkshopDispatchList> queryWrapper=new QueryWrapper<>();
+//        queryWrapper.lambda().eq(FbsWorkshopDispatchList::getDelFlag,'0');
+//        queryWrapper.apply("date  <= DATE_SUB( CURDATE( ), INTERVAL 3 DAY ) ");
+        List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=iFbsWorkshopDispatchListService.getLatelyDayWorkShopDispatch();
+        //最近90天rep中做的生产订单
+        List<FbsMomOrderdetail> fbsMomOrderdetailList=iFbsMomOrderdetailService.getLatelyDayMomOrderList();
+        //需要更新完成数量的派工
+        List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListToUpdate=new ArrayList<>();
+        //派工订单
+        for(FbsWorkshopDispatchList fbsWorkshopDispatchList:fbsWorkshopDispatchListList){
+            String code=fbsWorkshopDispatchList.getProductionOrderNumberName();//派工中的订单号
+            //循环rep订单
+            for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
+                String modeCode=fbsMomOrderdetail.getMocode();//rep中的订单号
+                //完工数量
+                BigDecimal latestCompletedQuantity=new BigDecimal("0.0");
+                latestCompletedQuantity=getDecimal(Double.valueOf(fbsWorkshopDispatchList.getLatestCompletedQuantity()));
+                //入库数量
+                BigDecimal qualifiedinqty=new BigDecimal("0.0");
+                qualifiedinqty=getDecimal(Double.valueOf(String.valueOf(fbsMomOrderdetail.getQualifiedinqty())));
+                if(code.equals(modeCode)&&latestCompletedQuantity.doubleValue()!=qualifiedinqty.doubleValue()){//找到对应的订单
+                    Date date = new Date();//获取当前的日期
+                    String str = df.format(date);//获取String类型的时间
+                    //获取本次更新信息
+                    String memo="订单号:"+code+",更新前的派工数量:"+fbsWorkshopDispatchList.getLatestCompletedQuantity()+",更新后的派工数量:"+fbsMomOrderdetail.getQualifiedinqty()+",更新时间:"+str;
+                    String lamemo=fbsWorkshopDispatchList.getLatestCompletedQuantityU8Memo();
+                    if(lamemo==null){
+                        lamemo="";
+                    }
+                    fbsWorkshopDispatchList.setLatestCompletedQuantityU8Memo(lamemo+";"+memo);
+                    fbsWorkshopDispatchList.setLatestCompletedQuantity(qualifiedinqty.doubleValue()+"");
+
+                    fbsWorkshopDispatchListListToUpdate.add(fbsWorkshopDispatchList);
+                    if(qualifiedinqty.doubleValue()>latestCompletedQuantity.doubleValue()){
+                        FbsWorkingStatistics fbsWorkingStatistics=new FbsWorkingStatistics();
+                        fbsWorkingStatistics.setPkWorkshopDispatchList(fbsWorkshopDispatchList.getId());
+                        fbsWorkingStatistics.setPersonnelCode("更新");
+                        fbsWorkingStatistics.setPersonnelName("更新");
+                        fbsWorkingStatistics.setMaterielCode(fbsWorkshopDispatchList.getProductId());
+                        fbsWorkingStatistics.setPersonnelName(fbsWorkshopDispatchList.getProduct());
+
+                    }
+                }
+            }
+        }
+        //更新派工的入库数量
+        if(fbsWorkshopDispatchListListToUpdate.size()>0){
+            iFbsWorkshopDispatchListService.updateBatchWorkShopDispatch(fbsWorkshopDispatchListListToUpdate);
+        }
+
+    }
+
+
+
+
+    public BigDecimal getDecimal(Double d){
+        BigDecimal decimal= new BigDecimal(d);
+        return decimal;
+    }
+}

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

@@ -178,4 +178,22 @@ public interface FbsWorkshopDispatchListMapper extends BaseMapper<FbsWorkshopDis
     * @return java.lang.Double
     */
     BigDecimal getOutstandingCumulativeWorkDone(@Param("list") List<String> listCode);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 最近90派工订单
+    * @Date 2021/1/7 17:08
+    * @Param []
+    * @return java.util.List<org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList>
+    */
+    List<FbsWorkshopDispatchList> getLatelyDayWorkShopDispatch();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 批量修改完成数量
+    * @Date 2021/1/7 17:17
+    * @Param [fbsWorkshopDispatchList]
+    * @return int
+    */
+    int updateBatchWorkShopDispatch(@Param("list")List<FbsWorkshopDispatchList> fbsWorkshopDispatchList);
 }

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

@@ -470,4 +470,36 @@
                             #{item}
             </foreach>
     </select>
+
+    <select id="getLatelyDayWorkShopDispatch" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
+        SELECT
+            production_order_number_name,
+            sum( latest_completed_quantity ) latest_completed_quantity,
+            latest_completed_quantity_u8_memo,
+            id
+        FROM
+          fbs_workshop_dispatch_list
+        WHERE
+            del_flag = '0'
+            AND date <![CDATA[ >= ]]> DATE_SUB( CURDATE( ), INTERVAL 90 DAY )
+            AND number_of_tasks <![CDATA[ <> ]]> latest_completed_quantity
+        GROUP BY
+          production_order_number_name
+    </select>
+
+    <update id="updateBatchWorkShopDispatch" parameterType="java.util.List">
+        <foreach collection="list" item="item" index="index" separator=";" >
+            UPDATE fbs_workshop_dispatch_list
+            <set>
+                <if test="item.latestCompletedQuantity != null and item.latestCompletedQuantity!=''">
+                    latest_completed_quantity = #{item.latestCompletedQuantity},
+                </if>
+                <if test="item.latestCompletedQuantityU8Memo != null and item.latestCompletedQuantityU8Memo!=''">
+                    latest_completed_quantity_u8_memo = #{item.latestCompletedQuantityU8Memo},
+                </if>
+                update_time = NOW()
+            </set>
+            WHERE production_order_number_name = #{item.productionOrderNumberName}
+        </foreach>
+    </update>
 </mapper>

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

@@ -169,4 +169,22 @@ public interface IFbsWorkshopDispatchListService extends IService<FbsWorkshopDis
     * @return java.lang.Double
     */
     BigDecimal getOutstandingCumulativeWorkDone(List<String> listCode);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 最近90天派工订单
+    * @Date 2021/1/7 17:08
+    * @Param []
+    * @return java.util.List<org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList>
+    */
+    List<FbsWorkshopDispatchList> getLatelyDayWorkShopDispatch();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 批量修改完成数量
+    * @Date 2021/1/7 17:18
+    * @Param [fbsWorkshopDispatchList]
+    * @return int
+    */
+    int updateBatchWorkShopDispatch(List<FbsWorkshopDispatchList> fbsWorkshopDispatchList);
 }

+ 10 - 0
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/impl/FbsWorkshopDispatchListServiceImpl.java

@@ -587,5 +587,15 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         return fbsWorkshopDispatchListMapper.getOutstandingCumulativeWorkDone(listCode);
     }
 
+    @Override
+    public List<FbsWorkshopDispatchList> getLatelyDayWorkShopDispatch() {
+        return fbsWorkshopDispatchListMapper.getLatelyDayWorkShopDispatch();
+    }
+
+    @Override
+    public int updateBatchWorkShopDispatch(List<FbsWorkshopDispatchList> fbsWorkshopDispatchList) {
+        return fbsWorkshopDispatchListMapper.updateBatchWorkShopDispatch(fbsWorkshopDispatchList);
+    }
+
 
 }