瀏覽代碼

异常 派工单

chenc 4 年之前
父節點
當前提交
fa46fbd8eb
共有 14 個文件被更改,包括 314 次插入24 次删除
  1. 8 8
      src/main/java/org/jeecg/modules/appInterface/controller/FbsWorkingStatisticsController.java
  2. 14 5
      src/main/java/org/jeecg/modules/appInterface/mapper/xml/FbsWorkingStatisticsMapper.xml
  3. 1 1
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/mapper/xml/FbsAbnormalWorkingHoursDescribeMapper.xml
  4. 1 1
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/mapper/xml/FbsAbnormalWorkingHoursMapper.xml
  5. 21 0
      src/main/java/org/jeecg/modules/fbsMomOrder/controller/FbsMomOrderdetailController.java
  6. 18 0
      src/main/java/org/jeecg/modules/fbsMomOrder/entity/FbsMomOrderdetail.java
  7. 10 1
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/FbsMomOrderdetailMapper.java
  8. 29 3
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderdetailMapper.xml
  9. 19 1
      src/main/java/org/jeecg/modules/fbsMomOrder/service/IFbsMomOrderdetailService.java
  10. 115 2
      src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderdetailServiceImpl.java
  11. 59 1
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/controller/FbsWorkshopDispatchListController.java
  12. 16 0
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/entity/FbsWorkshopDispatchList.java
  13. 1 1
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/xml/FbsWorkshopDispatchListMapper.xml
  14. 2 0
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/impl/FbsWorkshopDispatchListServiceImpl.java

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

@@ -230,7 +230,7 @@ public class FbsWorkingStatisticsController {
 		 entity.setMaterielCode(workshopDispatchList.getProductId());//物料编码
 		 entity.setMaterielName(workshopDispatchList.getProduct());//物料名称
 
-		 entity.setFirstTime(entity.getCutTime());//获取当前时间
+		 entity.setFirstTime(new Date());//获取当前时间entity.getCutTime()
 		 entity.setFinalInfo("开工");
 		 entity.setFinalState("1");//完结状态(1-开工,2-下岗/暂停,3-实时报工)
 		 entity.setPkWorkshopDispatchList(list.get(0).getId());
@@ -301,8 +301,8 @@ public class FbsWorkingStatisticsController {
 			 FbsWorkingStatistics par = list2.get(0);
 			 if(par != null){
 			 	Date firstTime = par.getFirstTime();
-//				 long diff = new Date().getTime() - firstTime.getTime();
-				 long diff = entity.getCutTime().getTime() - firstTime.getTime();
+				 long diff = new Date().getTime() - firstTime.getTime();
+//				 long diff = entity.getCutTime().getTime() - firstTime.getTime();
 				 // 计算差多少天
 //				 long day = diff / nd;
 				 // 计算差多少小时
@@ -346,11 +346,11 @@ public class FbsWorkingStatisticsController {
 		 FbsWorkshopDispatchList workshopDispatchList = list.get(0);
 
          //状态(0初始,1接单,2暂停,3完成)
-         if(StringUtils.isNotBlank(workshopDispatchList.getState()) && workshopDispatchList.getState().equals("3")){
-             res.setCode("1");
-             res.setMsg("该订单目前不在可暂停状态,无法暂停"+entity.getOrderNumber());
-             return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
-         }
+//         if(StringUtils.isNotBlank(workshopDispatchList.getState()) && workshopDispatchList.getState().equals("3")){
+//             res.setCode("1");
+//             res.setMsg("该订单目前不在可暂停状态,无法暂停"+entity.getOrderNumber());
+//             return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
+//         }
 		 entity.setStartDate(workshopDispatchList.getPlannedStartTime());//计划时间
 		 entity.setEndDate(workshopDispatchList.getPlannedStartTime());//计划时间
 		 entity.setFinalTime(entity.getCutTime());//获取当前时间

+ 14 - 5
src/main/java/org/jeecg/modules/appInterface/mapper/xml/FbsWorkingStatisticsMapper.xml

@@ -30,7 +30,7 @@
             AND date_format( fws.final_time, #{dateString} ) = DATE_FORMAT( now( ), #{dateString} )-->
         SELECT
         CONVERT
-        (sum( fwdl.man_hours_completed ), DECIMAL ( 15, 2 ) ) AS '生产',
+        (sum( fws.working_hours ), DECIMAL ( 15, 2 ) ) AS '生产',
         (
         SELECT
         IFNULL(sum( train ),0) + IFNULL(sum( meeting ),0) + IFNULL(sum( five_s ),0) + IFNULL(sum( research_and_development ),0)+ IFNULL(sum( pack ),0)+ IFNULL(sum( other ),0)
@@ -67,7 +67,7 @@
         AS '其他',
         (
         SELECT
-        IFNULL(sum( quality ),0) + IFNULL(sum( design ),0) + IFNULL(sum( rework ),0) + IFNULL(sum( materiel ),0) + IFNULL(sum( energy ),0) + IFNULL(sum( other ),0)+IFNULL(sum(equipment),0) + IFNULL(sum( plan ),0)
+        IFNULL(sum( quality ),0) + IFNULL(sum( materiel ),0) + IFNULL(sum( equipment ),0) + IFNULL(sum( design ),0) + IFNULL(sum( energy ),0) + IFNULL(sum( plan ),0)
         FROM
         fbs_abnormal_working_hours
         WHERE
@@ -98,9 +98,18 @@
         </if>
         ) as '仓库'
         FROM
-        fbs_workshop_dispatch_list fwdl
+        fbs_working_statistics fws
         WHERE
-        fwdl.del_flag = '0'
+        fws.del_flag = '0'
+        <if test="dateString=='%Y-%m-%d'">
+            and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+            and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+        </if>
+        <if test="dateString=='%Y-%m'">
+            and DATE_FORMAT(now(),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+            and DATE_FORMAT(now(),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fws.final_time,#{dateString})
+        </if>
+        <!--
         <if test="dateString=='%Y-%m-%d'">
             and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fwdl.planned_start_time,#{dateString})
             and DATE_FORMAT(date_sub(curdate(),interval 1 day),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fwdl.planned_end_time,#{dateString})
@@ -108,7 +117,7 @@
         <if test="dateString=='%Y-%m'">
             and DATE_FORMAT(now(),#{dateString}) <![CDATA[ >= ]]> DATE_FORMAT(fwdl.planned_start_time,#{dateString})
             and DATE_FORMAT(now(),#{dateString}) <![CDATA[ <= ]]> DATE_FORMAT(fwdl.planned_end_time,#{dateString})
-        </if>
+        </if>-->
 
     </select>
 

+ 1 - 1
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/mapper/xml/FbsAbnormalWorkingHoursDescribeMapper.xml

@@ -30,7 +30,7 @@
         AND fawhd.del_flag = '0'
         AND fawhd.materiel_name IS NOT NULL
         AND fawhd.materiel_number_of_tasks >0
-        AND fawhd.materiel_bad_number >0
+
        <!-- AND fawhd.product IS NOT NULL
         AND fawhd.type='物料'
         AND fawhd.planned_quantity >0

+ 1 - 1
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/mapper/xml/FbsAbnormalWorkingHoursMapper.xml

@@ -37,7 +37,7 @@
             fawhd.del_flag = '0'
             AND fawhd.del_flag = '0'
             AND fawhd.production_order_number_name IS NOT NULL
-            AND fawhd.rejects_number>0
+
         <!--
             AND fawhd.product IS NOT NULL
             AND fawhd.type='产品'-->

+ 21 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/controller/FbsMomOrderdetailController.java

@@ -453,4 +453,25 @@ public class FbsMomOrderdetailController {
 		 return result;
 	 }
 
+	 /**
+	 * @Author chenchuang
+	 * @Description //TODO 新改的工单缺料与齐套
+	 * @Date 2021/1/29 12:09
+	 * @Param [type]
+	 * @return org.jeecg.common.api.vo.Result<java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>>
+	 */
+	 @GetMapping(value = "/getListByOrderSheetNow")
+	 public Result<List<FbsMomOrderdetail>> getListByOrderSheetNow(String type){
+		 Result<List<FbsMomOrderdetail>> result=new Result<>();
+		 try {
+			 List<FbsMomOrderdetail> fbsMomOrderdetailList=fbsMomOrderdetailService.getListByOrderSheetNow(type);
+			 result.setResult(fbsMomOrderdetailList);
+			 result.success("操作成功");
+		 } catch (Exception e) {
+			 e.printStackTrace();
+			 result.error500("操作失败:"+e.getMessage());
+		 }
+		 return result;
+	 }
+
 }

+ 18 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/entity/FbsMomOrderdetail.java

@@ -457,8 +457,26 @@ public class FbsMomOrderdetail implements Serializable {
 	//产品名称
 	@TableField(exist = false)
 	private String mocinvname;
+	//子子件物料名称
+	@TableField(exist = false)
+	private String mcinvname;
+	//子子件物料编码
+	@TableField(exist = false)
+	private String mcinvcode;
 
 	//子件物料编码
 	@TableField(exist = false)
 	private String mInvCode;
+
+	//erp开工时间
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@TableField(exist = false)
+	private Date startDate;
+
+	//rep完工时间
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@TableField(exist = false)
+	private Date dueDate;
 }

+ 10 - 1
src/main/java/org/jeecg/modules/fbsMomOrder/mapper/FbsMomOrderdetailMapper.java

@@ -178,5 +178,14 @@ public interface FbsMomOrderdetailMapper extends BaseMapper<FbsMomOrderdetail> {
     * @Param []
     * @return org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail
     */
-    FbsMomOrderdetail getMomMoallocate();
+    List<FbsMomOrderdetail> getMomMoallocate();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据生产订单查询子子件明细
+    * @Date 2021/1/28 10:48
+    * @Param [moCode]
+    * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
+    */
+    List<FbsMomOrderdetail> getMomMoallocateByMoCode(@Param("moCode")String moCode);
 }

+ 29 - 3
src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderdetailMapper.xml

@@ -88,7 +88,9 @@
         i.cInvDefine13,
         mo.Qty,
         mo.QualifiedInQty,
-        m.Define12
+        m.Define12,
+        mm.StartDate,
+        mm.DueDate
         FROM
         mom_orderdetail mo
         LEFT JOIN mom_order m ON mo.MoId= m.MoId
@@ -119,7 +121,9 @@
         mo.Qty,
         mo.QualifiedInQty,
         m.Define12,
-        mo.Status
+        mo.Status,
+        mm.StartDate,
+        mm.DueDate
         FROM
         mom_orderdetail mo
         LEFT JOIN mom_order m ON mo.MoId= m.MoId
@@ -242,15 +246,37 @@
             m.MoCode,
             i.cinvname,
             i.cinvcode,
-            i.cinvstd
+            i.cinvstd,
+            mi.cinvname mcinvname,
+            mi.cinvcode mcinvcode
         FROM
             mom_moallocate mm
             LEFT JOIN mom_orderdetail mo ON mm.MoDId= mo.MoDId
             LEFT JOIN mom_order m ON mo.MoId= m.MoId
             LEFT JOIN Inventory i ON mo.InvCode= i.cInvCode
+            LEFT JOIN Inventory mi ON mm.InvCode= mi.cInvCode
         WHERE
             mo.RelsUser IS NOT NULL
           AND SUBSTRING ( m.MoCode, 3, 4 ) = SUBSTRING ( CONVERT ( VARCHAR ( 100 ), GETDATE( ), 112 ), 3, 4 )
+          ORDER BY m.MoCode DESC
+    </select>
+
+    <select id="getMomMoallocateByMoCode" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
+        SELECT
+            mm.Qty AS Qtys,
+            mm.IssQty AS IssQty,
+            mm.InvCode as mInvCode,
+            mo.InvCode,
+            m.MoCode,
+            i.cinvname,
+            i.cinvcode,
+            i.cinvstd
+        FROM
+            mom_moallocate mm
+            LEFT JOIN mom_orderdetail mo ON mm.MoDId= mo.MoDId
+            LEFT JOIN mom_order m ON mo.MoId= m.MoId
+            LEFT JOIN Inventory i ON mo.InvCode= i.cInvCode
+            where m.MoCode=#{moCode}
     </select>
 
     <select id="">

+ 19 - 1
src/main/java/org/jeecg/modules/fbsMomOrder/service/IFbsMomOrderdetailService.java

@@ -145,5 +145,23 @@ public interface IFbsMomOrderdetailService extends IService<FbsMomOrderdetail> {
     * @Param []
     * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
     */
-    List<FbsMomOrderdetail> getListByOrderSheetNow();
+    List<FbsMomOrderdetail> getListByOrderSheetNow(String type);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据生产订单查询子子件明细
+    * @Date 2021/1/28 10:57
+    * @Param [moCode]
+    * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
+    */
+    List<FbsMomOrderdetail> getMomMoallocateByMoCode(String moCode);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 查询库存数量
+    * @Date 2021/1/28 11:00
+    * @Param []
+    * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
+    */
+    List<FbsMomOrderdetail> getListByOrderSheetCurrentStock();
 }

+ 115 - 2
src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderdetailServiceImpl.java

@@ -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();
     }
 
 

+ 59 - 1
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/controller/FbsWorkshopDispatchListController.java

@@ -122,6 +122,11 @@ public class FbsWorkshopDispatchListController {
 		if(StringUtils.isNotBlank(product)){
 			fbsWorkshopDispatchList.setProduct(null);
 		}
+		//项目名称
+        String projectName=fbsWorkshopDispatchList.getProjectName();
+		if(StringUtils.isNotBlank(projectName)){
+            fbsWorkshopDispatchList.setProjectName(null);
+        }
 		QueryWrapper<FbsWorkshopDispatchList> queryWrapper = QueryGenerator.initQueryWrapper(fbsWorkshopDispatchList, req.getParameterMap());
 		queryWrapper.lambda().eq(FbsWorkshopDispatchList::getDelFlag,"0");
 		if(StringUtils.isNotBlank(start)&&StringUtils.isNotBlank(end)&&!start.equals("null")&&!end.equals("null")){
@@ -139,6 +144,9 @@ public class FbsWorkshopDispatchListController {
 		if(StringUtils.isNotBlank(product)){
 			queryWrapper.lambda().like(FbsWorkshopDispatchList::getProduct,product);
 		}
+		if(StringUtils.isNotBlank(projectName)){
+		    queryWrapper.lambda().like(FbsWorkshopDispatchList::getProjectName,projectName);
+        }
 
 		if(stateString!=null){
 			queryWrapper.apply("(1=1 ");
@@ -546,7 +554,8 @@ public class FbsWorkshopDispatchListController {
 			 fbsMomOrderdetailList.addAll(fbsMomOrderdetailList2);
 
 			 List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListService.getSumDispatch(fbsMomOrderdetailList,fbsWorkshopDispatchList);
-
+			 //获取是否缺料状态
+			 getIsLackOfMaterial(fbsWorkshopDispatchListList);
 			 result.setResult(fbsWorkshopDispatchListList);
 			 result.success("操作成功");
 		 } catch (Exception e) {
@@ -555,6 +564,55 @@ public class FbsWorkshopDispatchListController {
 		 }
 		 return result;
 	 }
+	 public BigDecimal getDecimalNew(String d){
+		 BigDecimal decimal= new BigDecimal(d);
+		 return decimal;
+	 }
+
+	 //获取是否缺料状态
+	 public void getIsLackOfMaterial(List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList){
+	 	if(fbsWorkshopDispatchListList!=null&&fbsWorkshopDispatchListList.size()>0){
+			List<FbsMomOrderdetail> currentStockList=iFbsMomOrderdetailService.getListByOrderSheetCurrentStock();
+	 		for(FbsWorkshopDispatchList fbsWorkshopDispatchList:fbsWorkshopDispatchListList){
+	 			//生产订单号
+				String code=fbsWorkshopDispatchList.getProductionOrderNumberName();
+				String setLackOfMaterialState="正常";
+				//子子件明细
+				List<FbsMomOrderdetail> fbsMomOrderdetailList= iFbsMomOrderdetailService.getMomMoallocateByMoCode(code);
+				if(fbsMomOrderdetailList!=null&&fbsMomOrderdetailList.size()>0){
+					//子子件
+					for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
+						//子子件的数量
+						BigDecimal detailNumber=new BigDecimal("0.0");
+						if(StringUtils.isNotBlank(fbsMomOrderdetail.getQtys()+"")){
+							detailNumber=getDecimalNew(fbsMomOrderdetail.getQtys()+"");
+						}
+						//子子件的已领数量
+						BigDecimal issQty=new BigDecimal("0.0");
+						if(StringUtils.isNotBlank(fbsMomOrderdetail.getIssQty()+"")){
+							issQty=getDecimalNew(fbsMomOrderdetail.getIssQty()+"");
+						}
+						//现存量库存的数量
+						BigDecimal tocksNumber=new BigDecimal("0.0");
+						//现存量库存
+						for(FbsMomOrderdetail fbsMomOrderdetailStock:currentStockList){
+							//找到对应的库存数量
+							if(fbsMomOrderdetail.getMInvCode().equals(fbsMomOrderdetailStock.getCinvcode())){
+								if(StringUtils.isNotBlank(fbsMomOrderdetailStock.getMaterialPreparationTotal()+"")){
+									tocksNumber=getDecimalNew(fbsMomOrderdetailStock.getMaterialPreparationTotal()+"");
+								}
+							}
+						}
+						//库存小于订单的则待料
+						if(tocksNumber.doubleValue()<(detailNumber.subtract(issQty)).doubleValue()){
+							setLackOfMaterialState="待料";
+						}
+					}
+				}
+				fbsWorkshopDispatchList.setLackOfMaterialState(setLackOfMaterialState);
+			}
+		}
+	 }
 
 	 //获取未完成的累计完成工时
 	 public BigDecimal getCodeList(List<FbsMomOrderdetail> fbsMomOrderdetailList){

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

@@ -279,4 +279,20 @@ public class FbsWorkshopDispatchList implements Serializable {
 	//工艺明细
 	@TableField(exist = false)
 	private List<FbsTechnologicalProcessItem> fbsTechnologicalProcessItemList;
+
+	//erp开工时间
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@TableField(exist = false)
+	private Date startDate;
+
+	//rep完工时间
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern="yyyy-MM-dd")
+	@TableField(exist = false)
+	private Date dueDate;
+
+	//缺料状态(正常、待料)
+	@TableField(exist = false)
+	private String lackOfMaterialState;
 }

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

@@ -238,7 +238,7 @@
             fwdl.product-->
 
              SELECT
-        sum( fwdl.man_hours_completed ) AS manHoursCompleted,
+        FORMAT(sum( fwdl.man_hours_completed ),2) AS manHoursCompleted,
         sum( fwdl.standard_working_hours ) AS standardWorkingHours,
         fwdl.product
         FROM

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

@@ -284,6 +284,8 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
             fbsWorkshopDispatchList.setProductionOrderNumberName(fbsMomOrderdetail.getMocode());
             fbsWorkshopDispatchList.setProductId(fbsMomOrderdetail.getCinvcode());
             fbsWorkshopDispatchList.setProduct(fbsMomOrderdetail.getCinvname());
+            fbsWorkshopDispatchList.setStartDate(fbsMomOrderdetail.getStartDate());
+            fbsWorkshopDispatchList.setDueDate(fbsMomOrderdetail.getDueDate());
             fbsWorkshopDispatchList.setNumberOfTasksTotal(Math.rint(Double.parseDouble(fbsMomOrderdetail.getQty()+""))+"");
             BigDecimal workingHoursTotal=new BigDecimal("0.0");
             if(StringUtils.isNotBlank(fbsMomOrderdetail.getCinvDefine13())){