Prechádzať zdrojové kódy

后台 看板问题修改

chenc 4 rokov pred
rodič
commit
6a23970ecb
19 zmenil súbory, kde vykonal 314 pridanie a 27 odobranie
  1. 65 10
      src/main/java/org/jeecg/modules/appInterface/controller/FbsWorkingStatisticsController.java
  2. 18 0
      src/main/java/org/jeecg/modules/fbsInventory/mapper/FbsInventoryMapper.java
  3. 19 0
      src/main/java/org/jeecg/modules/fbsInventory/mapper/xml/FbsInventoryMapper.xml
  4. 18 0
      src/main/java/org/jeecg/modules/fbsInventory/service/IFbsInventoryService.java
  5. 10 0
      src/main/java/org/jeecg/modules/fbsInventory/service/impl/FbsInventoryServiceImpl.java
  6. 29 2
      src/main/java/org/jeecg/modules/fbsMomOrder/controller/FbsMomOrderController.java
  7. 9 0
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/FbsMomOrderMapper.java
  8. 9 0
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/FbsMomOrderdetailMapper.java
  9. 8 0
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderMapper.xml
  10. 16 1
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderdetailMapper.xml
  11. 8 0
      src/main/java/org/jeecg/modules/fbsMomOrder/service/IFbsMomOrderService.java
  12. 9 0
      src/main/java/org/jeecg/modules/fbsMomOrder/service/IFbsMomOrderdetailService.java
  13. 5 0
      src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderServiceImpl.java
  14. 5 0
      src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderdetailServiceImpl.java
  15. 15 0
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/entity/FbsWorkshopDispatchList.java
  16. 2 1
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/job/FbsLatestCompletedQuantityUpdateJob.java
  17. 1 1
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/FbsWorkshopDispatchListMapper.java
  18. 7 8
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/xml/FbsWorkshopDispatchListMapper.xml
  19. 61 4
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/impl/FbsWorkshopDispatchListServiceImpl.java

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

@@ -40,7 +40,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.jeecg.modules.appInterface.service.IFbsWorkingStatisticsService;
 import org.jeecg.modules.fbsBasedate.entity.FbsPersonnel;
 import org.jeecg.modules.fbsBasedate.service.IFbsPersonnelService;
+import org.jeecg.modules.fbsInventory.entity.FbsInventory;
 import org.jeecg.modules.fbsInventory.service.IFbsInventoryService;
+import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail;
+import org.jeecg.modules.fbsMomOrder.service.IFbsMomOrderService;
+import org.jeecg.modules.fbsMomOrder.service.IFbsMomOrderdetailService;
 import org.jeecg.modules.fbsPerson.entity.FbsPerson;
 import org.jeecg.modules.fbsPerson.service.IFbsPersonService;
 import org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList;
@@ -82,6 +86,10 @@ public class FbsWorkingStatisticsController {
 	 private IFbsPersonnelService iFbsPersonnelService;
 	 @Autowired
 	 private IFbsInventoryService iFbsInventoryService;
+	 @Autowired
+	 private IFbsMomOrderService iFbsMomOrderService;
+	 @Autowired
+	 private IFbsMomOrderdetailService iFbsMomOrderdetailService;
 	 @Value("${jeecg.path.upload}")
 	 private String upLoadPath;
 	 @Value("${jeecg.path.upvedioAAA}")
@@ -165,6 +173,7 @@ public class FbsWorkingStatisticsController {
 		 QueryWrapper<FbsWorkshopDispatchList> ypffscSaleorderBQueryWrapper = new QueryWrapper<>();
 		 ypffscSaleorderBQueryWrapper.like("personnel_id_u8", entity.getPersonnelCode()).eq("del_flag", 0);
 		 ypffscSaleorderBQueryWrapper.eq("production_order_number_name", entity.getOrderNumber());
+//		 ypffscSaleorderBQueryWrapper.lambda().eq(FbsWorkshopDispatchList::getIsScanCode,"1");
 //		 ypffscSaleorderBQueryWrapper.in("state", 0,1,2,3);
 		 List<FbsWorkshopDispatchList> list = fbsWorkshopDispatchListService.list(ypffscSaleorderBQueryWrapper);
 		 if(list.size() < 1){
@@ -305,6 +314,7 @@ public class FbsWorkingStatisticsController {
 		 QueryWrapper<FbsWorkshopDispatchList> ypffscSaleorderBQueryWrapper = new QueryWrapper<>();
 		 ypffscSaleorderBQueryWrapper.like("personnel_id_u8", entity.getPersonnelCode()).eq("del_flag", 0);
 		 ypffscSaleorderBQueryWrapper.eq("production_order_number_name", entity.getOrderNumber());
+//		 ypffscSaleorderBQueryWrapper.lambda().eq(FbsWorkshopDispatchList::getIsScanCode,"1");
 //		 ypffscSaleorderBQueryWrapper.eq("state", 1);
 
 		 List<FbsWorkshopDispatchList> list = fbsWorkshopDispatchListService.list(ypffscSaleorderBQueryWrapper);
@@ -496,6 +506,26 @@ public class FbsWorkingStatisticsController {
 			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
 		 }
 
+		 /////批号是否存在了
+		 List<String> cBatchList=new ArrayList<>();
+		 //获取传入的批号json
+		 JSONArray jsonArray = JSONArray.parseArray(entity.getBatchCode());
+		 for(int i=0;i<jsonArray.size();i++){
+			String cBatch=jsonArray.getJSONObject(i).get("key").toString();
+			 cBatchList.add(cBatch);
+		 }
+		 //到入库单进行查询批号是否存在
+		 List<Map<String,String>> mapList=iFbsMomOrderService.getIsOnlyByCbatch(cBatchList);
+		 if(mapList!=null&&mapList.size()>0){
+		 	String msg="";
+		 	for (Map<String,String> map:mapList){
+				msg+=map.get("cBatch")+"、";
+			}
+			 res.setCode("1");
+			 res.setMsg("批号"+msg+"已经入库不能重复入库!");
+			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
+		 }
+
 		 entity.setStartDate(workshopDispatchList.getPlannedStartTime());//计划时间
 		 entity.setEndDate(workshopDispatchList.getPlannedStartTime());//计划时间
 
@@ -762,10 +792,11 @@ public class FbsWorkingStatisticsController {
 		 QueryWrapper<FbsWorkshopDispatchList> queryWrapper = new QueryWrapper<>();
 		 queryWrapper.eq("production_order_number_name", sheetId).eq("del_flag", 0);
 		 queryWrapper.like("personnel_id_u8", userId);
+//		 queryWrapper.lambda().eq(FbsWorkshopDispatchList::getIsScanCode,"1");
 		 List<FbsWorkshopDispatchList> list = fbsWorkshopDispatchListService.list(queryWrapper);
 		 if(list.size() < 1){
 			 res.setCode("1");
-			 res.setMsg("订单号或人员编码不正确"+sheetId);
+			 res.setMsg("检查是否开启可扫码,订单号或人员编码不正确"+sheetId);
 			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
 		 }
 
@@ -836,7 +867,6 @@ public class FbsWorkingStatisticsController {
 		result.setSuccess(true);
 		result.setResult(pageList);
 
-
 		return result;
 	}
 	
@@ -943,10 +973,11 @@ public class FbsWorkingStatisticsController {
 	  * @return
 	  */
 	 @RequestMapping(value = "getEsopFileList")
-	 public Result<List<Map<String,Object>>> getEsopFileList(String code){
+	 public Result<List<Map<String,Object>>> getEsopFileList(String code,String moCode){
 		 Result<List<Map<String,Object>>> result=new Result<>();
 	 	 ArrayList<String> list = new ArrayList<>();
-		 String par = FileList.getAllFileName(upLoadPath+code,list);
+//		 String par = FileList.getAllFileName(upLoadPath+code,list);
+		 String par = FileList.getAllFileName(upLoadPath,list);
 
 		 if(par.equals("false")){
 			 result.error500("文件为空");
@@ -955,12 +986,36 @@ public class FbsWorkingStatisticsController {
 
 		 List<Map<String,Object>> resuleMap = new ArrayList<>();
 		 try {
-
-		 	for (String o:list){
-				Map<String,Object> map = new HashMap<>();
-				map.put("fileName",o);
-				map.put("fileType",getFileOf(o).toLowerCase());
-				resuleMap.add(map);
+			//获取图纸号
+			 List<String> drawingCodeList=new ArrayList<>();
+			 //母件图纸
+			 FbsInventory fbsInventory=iFbsInventoryService.getInventory(code);
+			 if(fbsInventory!=null){
+				 drawingCodeList.add(fbsInventory.getCinvdefine6());
+			 }
+			 //子件图纸号
+			 List<FbsInventory> fbsInventoryList=iFbsInventoryService.getDrawingCode(moCode);
+			 if(fbsInventoryList!=null){
+				 for(FbsInventory fbsInventory1:fbsInventoryList){
+					 drawingCodeList.add(fbsInventory1.getCinvdefine6());
+				 }
+			 }
+			 //生产订单中包括的图纸号
+			 for(String drawingCode:drawingCodeList){
+			 	//文件夹中的图纸号
+				 for (String o:list){
+				 	//是否找到图纸号
+					if(drawingCode!=null&&o.indexOf(drawingCode)>=0){
+						 Map<String,Object> map = new HashMap<>();
+						 map.put("fileName",o);
+						 map.put("fileType",getFileOf(o).toLowerCase());
+						 resuleMap.add(map);
+					}
+				 }
+			 }
+		 	if(resuleMap.size()<=0){
+				result.error500("文件为空");
+				return result;
 			}
 			result.setResult(resuleMap);
 			result.success("操作成功");

+ 18 - 0
src/main/java/org/jeecg/modules/fbsInventory/mapper/FbsInventoryMapper.java

@@ -53,4 +53,22 @@ public interface FbsInventoryMapper extends BaseMapper<FbsInventory> {
     * @return int
     */
     int updateCInvDefine13(@Param("standardWorkingHoursZ") String standardWorkingHoursZ,@Param("invCode") String invCode);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据订单号查询子件图纸号
+    * @Date 2021/1/14 13:57
+    * @Param [moCode]
+    * @return java.util.List<org.jeecg.modules.fbsInventory.entity.FbsInventory>
+    */
+    List<FbsInventory> getDrawingCode(@Param("moCode")String moCode);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据存货编码查询存货信息
+    * @Date 2021/1/14 14:27
+    * @Param [cInvCode]
+    * @return org.jeecg.modules.fbsInventory.entity.FbsInventory
+    */
+    FbsInventory getInventory(@Param("cInvCode")String cInvCode);
 }

+ 19 - 0
src/main/java/org/jeecg/modules/fbsInventory/mapper/xml/FbsInventoryMapper.xml

@@ -51,4 +51,23 @@
             cInvCode=#{invCode}
     </update>
 
+    <select id="getDrawingCode" resultType="org.jeecg.modules.fbsInventory.entity.FbsInventory">
+        SELECT
+            i.cInvCode,
+            i.cInvDefine6
+        FROM
+            bom_opcomponent bop
+            LEFT JOIN bas_part basp ON bop.ComponentId = basp.PartId
+            LEFT JOIN Inventory i ON basp.InvCode = i.cInvCode
+            left join mom_orderdetail momo on momo.BomId=bop.BomId
+            left join mom_order mo ON mo.MoId = momo.MoId
+        WHERE
+            mo.MoCode = #{moCode}
+            AND i.cInvCCode = '020206'
+    </select>
+
+    <select id="getInventory" resultType="org.jeecg.modules.fbsInventory.entity.FbsInventory">
+        select * from Inventory where cInvCode=#{cInvCode}
+    </select>
+
 </mapper>

+ 18 - 0
src/main/java/org/jeecg/modules/fbsInventory/service/IFbsInventoryService.java

@@ -62,4 +62,22 @@ public interface IFbsInventoryService extends IService<FbsInventory> {
     * @return int
     */
     int updateCInvDefine13(String standardWorkingHoursZ,String invCode);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据订单号查询子件图纸号
+    * @Date 2021/1/14 13:58
+    * @Param [moCode]
+    * @return java.util.List<org.jeecg.modules.fbsInventory.entity.FbsInventory>
+    */
+    List<FbsInventory> getDrawingCode(String moCode);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据存货编码查询存货信息
+    * @Date 2021/1/14 14:28
+    * @Param [cInvCode]
+    * @return org.jeecg.modules.fbsInventory.entity.FbsInventory
+    */
+    FbsInventory getInventory(String cInvCode);
 }

+ 10 - 0
src/main/java/org/jeecg/modules/fbsInventory/service/impl/FbsInventoryServiceImpl.java

@@ -68,4 +68,14 @@ public class FbsInventoryServiceImpl extends ServiceImpl<FbsInventoryMapper, Fbs
     public int updateCInvDefine13(String standardWorkingHoursZ, String invCode) {
         return fbsInventoryMapper.updateCInvDefine13(standardWorkingHoursZ,invCode);
     }
+
+    @Override
+    public List<FbsInventory> getDrawingCode(String moCode) {
+        return fbsInventoryMapper.getDrawingCode(moCode);
+    }
+
+    @Override
+    public FbsInventory getInventory(String cInvCode) {
+        return fbsInventoryMapper.getInventory(cInvCode);
+    }
 }

+ 29 - 2
src/main/java/org/jeecg/modules/fbsMomOrder/controller/FbsMomOrderController.java

@@ -13,6 +13,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.appInterface.FileList;
+import org.jeecg.modules.fbsInventory.entity.FbsInventory;
+import org.jeecg.modules.fbsInventory.service.IFbsInventoryService;
 import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrder;
 import org.jeecg.modules.fbsMomOrder.service.IFbsMomOrderService;
 
@@ -51,6 +53,8 @@ public class FbsMomOrderController {
 	private IFbsMomOrderService fbsMomOrderService;
 	@Autowired
 	private IFbsWorkshopDispatchListService iFbsWorkshopDispatchListService;
+	@Autowired
+	private IFbsInventoryService iFbsInventoryService;
 
 	 @Value("${jeecg.path.upload}")
 	 private String upLoadPath;
@@ -69,9 +73,32 @@ public class FbsMomOrderController {
 
 			List<Map<String,Object>> map = iFbsWorkshopDispatchListService.getEsopList();
 			ArrayList<String> list = new ArrayList<>();
+			String par = FileList.getAllFileName(upLoadPath,list);
 			for(Map<String,Object> mapEn:map){
-				String par = FileList.getAllFileName(upLoadPath+mapEn.get("materialCode"),list);
-				if(par.equals("false")){//没有文件
+				//获取图纸号
+				List<String> drawingCodeList=new ArrayList<>();
+				//母件图纸
+				FbsInventory fbsInventory=iFbsInventoryService.getInventory(mapEn.get("materialCode").toString());
+				if(fbsInventory!=null){
+					drawingCodeList.add(fbsInventory.getCinvdefine6());
+				}
+				//子件图纸号
+				List<FbsInventory> fbsInventoryList=iFbsInventoryService.getDrawingCode(mapEn.get("orderSheetCode").toString());
+				if(fbsInventoryList!=null){
+					for(FbsInventory fbsInventory1:fbsInventoryList){
+						drawingCodeList.add(fbsInventory1.getCinvdefine6());
+					}
+				}
+				boolean isQuery=false;
+				for(String drawingCode:drawingCodeList){
+					for (String o:list){
+						//是否找到图纸号
+						if(drawingCode!=null&&o.indexOf(drawingCode)>=0){
+							isQuery=true;
+						}
+					}
+				}
+				if(isQuery==false){//没有文件
 					mapEn.put("color","darkgray");
 				}else{//有文件
 					mapEn.put("color","goldenrod");

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

@@ -16,4 +16,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 public interface FbsMomOrderMapper extends BaseMapper<FbsMomOrder> {
 
     public List<Map<String,Object>> getEsopTaskList();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据批号查询入库单是否已存在
+    * @Date 2021/1/12 10:05
+    * @Param [cBatch]
+    * @return java.lang.Integer
+    */
+    public List<Map<String,String>> getIsOnlyByCbatch(@Param("list")List<String> cBatchList);
 }

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

@@ -161,4 +161,13 @@ public interface FbsMomOrderdetailMapper extends BaseMapper<FbsMomOrderdetail> {
     * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
     */
     List<FbsMomOrderdetail> getLatelyDayMomOrderList();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据订单号获取生产订单信息
+    * @Date 2021/1/14 14:18
+    * @Param [moCode]
+    * @return org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail
+    */
+    FbsMomOrderdetail getMomOrderDetailByMoCode(@Param("moCode")String moCode);
 }

+ 8 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderMapper.xml

@@ -19,4 +19,12 @@
         del_flag = '0'
         AND number_of_tasks > latest_completed_quantity
     </select>
+
+
+  <select id="getIsOnlyByCbatch" resultType="java.util.HashMap">
+    select cBatch as cBatch from rdrecords10 where cBatch IN
+    <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+      #{item}
+    </foreach>
+  </select>
 </mapper>

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

@@ -140,6 +140,11 @@
                 substring(m.MoCode, 3, 4)=#{fbsMomOrderdetail.yearMonth}
             </if>
             <if test="fbsMomOrderdetail.yearMonth==null or fbsMomOrderdetail.yearMonth==''">
+                datediff(
+                MONTH,
+                mo.CloseTime,
+                getdate()) =0
+                OR
                 substring(m.MoCode, 3, 4)=SUBSTRING ( CONVERT ( VARCHAR ( 100 ), GETDATE( ), 112 ), 3, 4 )
             </if>
         )
@@ -223,7 +228,7 @@
         FROM
             CurrentStock
         WHERE
-            cWhCode ='02'
+            cWhCode in ('02','10')
         GROUP BY
             cInvCode
     </select>
@@ -384,4 +389,14 @@
         WHERE
             DateDiff( dd, mo.CreateTime, getdate ( ) ) <![CDATA[ <=]]> 90
     </select>
+
+    <select id="getMomOrderDetailByMoCode" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
+        SELECT
+            *
+        FROM
+            mom_order mo
+            LEFT JOIN mom_orderdetail MOD ON mo.MoId = MOD.MoId
+        WHERE
+            mo.MoCode = #{moCode}
+    </select>
 </mapper>

+ 8 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/service/IFbsMomOrderService.java

@@ -15,4 +15,12 @@ import java.util.Map;
 public interface IFbsMomOrderService extends IService<FbsMomOrder> {
     public List<Map<String,Object>> getEsopTaskList();
 
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据批号查询入库单是否已存在
+    * @Date 2021/1/12 10:08
+    * @Param [cBatch]
+    * @return java.lang.Integer
+    */
+    public List<Map<String,String>> getIsOnlyByCbatch(List<String> cBatchList);
 }

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

@@ -127,4 +127,13 @@ public interface IFbsMomOrderdetailService extends IService<FbsMomOrderdetail> {
     * @return java.util.List<org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail>
     */
     List<FbsMomOrderdetail> getLatelyDayMomOrderList();
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO
+    * @Date 2021/1/14 14:20
+    * @Param [moCode]
+    * @return org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail
+    */
+    FbsMomOrderdetail getMomOrderDetailByMoCode(String moCode);
 }

+ 5 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderServiceImpl.java

@@ -29,4 +29,9 @@ public class FbsMomOrderServiceImpl extends ServiceImpl<FbsMomOrderMapper, FbsMo
         return fbsMomOrderMapper.getEsopTaskList();
     }
 
+    @Override
+    public List<Map<String,String>> getIsOnlyByCbatch(List<String> cBatchList) {
+        return fbsMomOrderMapper.getIsOnlyByCbatch(cBatchList);
+    }
+
 }

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

@@ -132,6 +132,11 @@ public class FbsMomOrderdetailServiceImpl extends ServiceImpl<FbsMomOrderdetailM
         return fbsMomOrderdetailMapper.getLatelyDayMomOrderList();
     }
 
+    @Override
+    public FbsMomOrderdetail getMomOrderDetailByMoCode(String moCode) {
+        return fbsMomOrderdetailMapper.getMomOrderDetailByMoCode(moCode);
+    }
+
 
     @Override
     public List<FbsMomOrderdetail> getApplyList() {

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

@@ -140,6 +140,9 @@ public class FbsWorkshopDispatchList implements Serializable {
 	//剩余数量
 	private BigDecimal remainingQuantity;
 
+	//是否可上岗
+	private String isScanCode;
+
     //合并行
 	@TableField(exist = false)
     private Integer mergeLines;
@@ -152,6 +155,18 @@ public class FbsWorkshopDispatchList implements Serializable {
 	@TableField(exist = false)
     private String standardWorkingHoursTotal;
 
+	//剩余计划数量合计
+	@TableField(exist = false)
+	private BigDecimal surplusNumberOfTasksTotal;
+
+	//剩余标准工时合计
+	@TableField(exist = false)
+	private BigDecimal surplusStandardWorkingHoursTotal;
+
+	//完成数量合计
+	@TableField(exist = false)
+	private BigDecimal latestCompletedQuantityTotal;
+
 	//实际标准工时合计
 	@TableField(exist = false)
 	private String standardWorkingHoursActualTotal;

+ 2 - 1
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/job/FbsLatestCompletedQuantityUpdateJob.java

@@ -40,7 +40,7 @@ public class FbsLatestCompletedQuantityUpdateJob implements Job {
     @Override
     public void execute(JobExecutionContext context) throws JobExecutionException {
         System.out.println("9999999999999999999999999999");
-//        show();
+        show();
 
     }
 
@@ -76,6 +76,7 @@ public class FbsLatestCompletedQuantityUpdateJob implements Job {
                 if(StringUtils.isNotBlank(String.valueOf(fbsMomOrderdetail.getQualifiedinqty()))){
                     qualifiedinqty=getDecimal(String.valueOf(fbsMomOrderdetail.getQualifiedinqty()));
                 }
+
                 //找到对应需要更新的订单
                 if(code.equals(modeCode)&&latestCompletedQuantity.doubleValue()!=qualifiedinqty.doubleValue()){
                     Date date = new Date();//获取当前的日期

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

@@ -29,7 +29,7 @@ public interface FbsWorkshopDispatchListMapper extends BaseMapper<FbsWorkshopDis
     * @Param []
     * @return java.util.List<org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList>
     */
-    List<FbsWorkshopDispatchList> getSumDispatch();
+    List<FbsWorkshopDispatchList> getSumDispatch(@Param("list") List<String> list);
 
     /**
     * @Author chenchuang

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

@@ -33,18 +33,17 @@
     <select id="getSumDispatch" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
         SELECT
             *,
-            sum( number_of_tasks ) AS numberOfTasksTotal,
-            sum( standard_working_hours ) AS standardWorkingHoursTotal,
-            sum(man_hours_completed) as manHoursCompletedTotal
+            sum(latest_completed_quantity) as latestCompletedQuantityTotal
         FROM
             fbs_workshop_dispatch_list
             where del_flag='0'
-            and DATE_FORMAT(now( ),'%Y-%m') <![CDATA[ >= ]]> DATE_FORMAT(planned_start_time,'%Y-%m')
-            and DATE_FORMAT(now( ),'%Y-%m') <![CDATA[ <= ]]> DATE_FORMAT(planned_end_time,'%Y-%m')
+            <!--and substring(production_order_number_name,3,4)=#{yearMonth}-->
+            AND production_order_number_name IN
+            <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
         GROUP BY
             production_order_number_id,product_id
-        ORDER BY
-            production_line_name
     </select>
 
     <select id="getSumDispatchNumber" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
@@ -508,7 +507,7 @@
         WHERE
             del_flag = '0'
             AND date <![CDATA[ >= ]]> DATE_SUB( CURDATE( ), INTERVAL 90 DAY )
-            AND number_of_tasks <![CDATA[ <> ]]> latest_completed_quantity
+           <!-- AND number_of_tasks <![CDATA[ <> ]]> latest_completed_quantity -->
         GROUP BY
           production_order_number_name
     </select>

+ 61 - 4
src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/service/impl/FbsWorkshopDispatchListServiceImpl.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.fbsWorkshopDispatchList.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import io.swagger.models.auth.In;
 import org.apache.commons.lang.StringUtils;
 import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail;
@@ -61,7 +62,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         //求和的派工单集合
 //        List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=fbsWorkshopDispatchListMapper.getSumDispatch();
         List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=new ArrayList<>();
-        getWorkshopDispatchListListSum(fbsWorkshopDispatchListListSum,fbsMomOrderdetailList);
+        getWorkshopDispatchListListSum(fbsWorkshopDispatchListListSum,fbsMomOrderdetailList,fbsWorkshopDispatchListWhere);
         //全部派工单为求和
 //        LambdaQueryWrapper<FbsWorkshopDispatchList> lambdaQueryWrapper=new LambdaQueryWrapper<>();
 //        lambdaQueryWrapper.eq(FbsWorkshopDispatchList::getDelFlag,"0");
@@ -216,7 +217,7 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
     public List<FbsWorkshopDispatchList> export(List<FbsMomOrderdetail> fbsMomOrderdetailList,String month){
         //erp数据
         List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListErp=new ArrayList<>();
-        getWorkshopDispatchListListSum(fbsWorkshopDispatchListListErp,fbsMomOrderdetailList);
+        getWorkshopDispatchListListSum(fbsWorkshopDispatchListListErp,fbsMomOrderdetailList,null);
         //派工数据
         List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum=fbsWorkshopDispatchListMapper.getSumDispatchNumber(month);
         if(fbsWorkshopDispatchListListErp!=null&&fbsWorkshopDispatchListListSum!=null){
@@ -240,7 +241,16 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
     }
 
     //获取erp中的订单数据
-    public void getWorkshopDispatchListListSum(List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum,List<FbsMomOrderdetail> fbsMomOrderdetailList){
+    public void getWorkshopDispatchListListSum(List<FbsWorkshopDispatchList> fbsWorkshopDispatchListListSum,List<FbsMomOrderdetail> fbsMomOrderdetailList,FbsWorkshopDispatchList fbsWorkshopDispatchListWhere){
+        //订单编码上的时间
+//        String yearMonth=fbsWorkshopDispatchListWhere.getYear().substring(2)+fbsWorkshopDispatchListWhere.getMonth();
+        List<String> codeList=new ArrayList<>();
+        for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
+            codeList.add(fbsMomOrderdetail.getMocode());
+        }
+        //查询派工数据
+        List<FbsWorkshopDispatchList> fbsWorkshopDispatchListList=fbsWorkshopDispatchListMapper.getSumDispatch(codeList);
+
         for(FbsMomOrderdetail fbsMomOrderdetail:fbsMomOrderdetailList){
             FbsWorkshopDispatchList fbsWorkshopDispatchList=new FbsWorkshopDispatchList();
             fbsWorkshopDispatchList.setProjectName(fbsMomOrderdetail.getDefine12());
@@ -250,12 +260,41 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
             fbsWorkshopDispatchList.setNumberOfTasksTotal(Math.rint(Double.parseDouble(fbsMomOrderdetail.getQty()+""))+"");
             BigDecimal workingHoursTotal=new BigDecimal("0.0");
             if(StringUtils.isNotBlank(fbsMomOrderdetail.getCinvDefine13())){
-                workingHoursTotal=getDecimal(Double.valueOf(fbsMomOrderdetail.getCinvDefine13()));
+                workingHoursTotal=getDecimalNew(fbsMomOrderdetail.getCinvDefine13());
             }
             String working=formatDouble5((workingHoursTotal.multiply(getDecimal(Double.valueOf(fbsMomOrderdetail.getQty()+"")))).doubleValue());
             fbsWorkshopDispatchList.setStandardWorkingHoursTotal(working);
             fbsWorkshopDispatchList.setStandardWorkingHoursZ(fbsMomOrderdetail.getCinvDefine13());
             fbsWorkshopDispatchList.setStatus(fbsMomOrderdetail.getStatus());
+            //循环派工单 找到对应的订单获取数据
+            boolean isQuery=false;
+
+            if(fbsWorkshopDispatchListList!=null){
+                for(FbsWorkshopDispatchList fbsWorkshopDispatchListEntiy:fbsWorkshopDispatchListList){
+                    if(fbsMomOrderdetail.getMocode().equals(fbsWorkshopDispatchListEntiy.getProductionOrderNumberName())&&fbsMomOrderdetail.getCinvcode().equals(fbsWorkshopDispatchListEntiy.getProductId())){
+                        //标准数量
+                        BigDecimal qty =new BigDecimal("0.0");
+                        if(StringUtils.isNotBlank(fbsMomOrderdetail.getQty().toString())){
+                            qty=getDecimalNew(fbsMomOrderdetail.getQty().toString());
+                        }
+                        //总完成数量
+                        BigDecimal latestCompletedQuantityTotal=new BigDecimal("0.0");
+                        if(fbsWorkshopDispatchListEntiy.getLatestCompletedQuantityTotal()!=null){
+                            latestCompletedQuantityTotal=fbsWorkshopDispatchListEntiy.getLatestCompletedQuantityTotal();
+                        }
+                        //剩余标准数量
+                        fbsWorkshopDispatchList.setSurplusNumberOfTasksTotal(qty.subtract(latestCompletedQuantityTotal));
+                        isQuery=true;
+                    }
+                }
+            }
+            //没有对应的派工数据则 默认为标准数量
+            if(isQuery==false){
+                fbsWorkshopDispatchList.setSurplusNumberOfTasksTotal(getDecimalNew(fbsMomOrderdetail.getQty().toString()));
+            }
+            //剩余标准工时
+            BigDecimal surplusStandardWorkingHoursTotal=fbsWorkshopDispatchList.getSurplusNumberOfTasksTotal().multiply(workingHoursTotal);
+            fbsWorkshopDispatchList.setSurplusStandardWorkingHoursTotal(surplusStandardWorkingHoursTotal);
             fbsWorkshopDispatchListListSum.add(fbsWorkshopDispatchList);
         }
     }
@@ -334,6 +373,8 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         BigDecimal standardWorkingHoursActualTotal=new BigDecimal(0.00);//实际标准工时
         Integer quantityCompletedTotal=0;//累计完成数量
         BigDecimal manHoursCompletedTotal=new BigDecimal(0.00);//累计总工时
+        BigDecimal surplusNumberOfTasksTotal=new BigDecimal("0.0");//剩余标准总数量
+        BigDecimal surplusStandardWorkingHoursTotal=new BigDecimal("0.0");//剩余标准总工时
         List<String> list=new ArrayList<>();
         //循环累加计算
         for(FbsWorkshopDispatchList workshopDispatchList:fbsWorkshopDispatchListList){
@@ -352,6 +393,12 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
             if(isNumber(workshopDispatchList.getManHoursCompletedTotal())){
                 manHoursCompletedTotal=manHoursCompletedTotal.add(getDecimal(Double.valueOf(workshopDispatchList.getManHoursCompletedTotal())));
             }
+            if(workshopDispatchList.getSurplusNumberOfTasksTotal()!=null){
+                surplusNumberOfTasksTotal=surplusNumberOfTasksTotal.add(workshopDispatchList.getSurplusNumberOfTasksTotal());
+            }
+            if(workshopDispatchList.getSurplusStandardWorkingHoursTotal()!=null){
+                surplusStandardWorkingHoursTotal=surplusStandardWorkingHoursTotal.add(workshopDispatchList.getSurplusStandardWorkingHoursTotal());
+            }
             list.add(workshopDispatchList.getProductionOrderNumberName());
         }
         //获取按日期排列的统计数据
@@ -416,6 +463,8 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         fbsWorkshopDispatchList.setQuantityCompletedTotal(quantityCompletedTotal);
         fbsWorkshopDispatchList.setManHoursCompletedTotal(formatDouble5(manHoursCompletedTotal.doubleValue())+"");
         fbsWorkshopDispatchList.setFbsWorkshopDispatchListList(fbsWorkshopDispatchListListTotal);
+        fbsWorkshopDispatchList.setSurplusNumberOfTasksTotal(surplusNumberOfTasksTotal);
+        fbsWorkshopDispatchList.setSurplusStandardWorkingHoursTotal(surplusStandardWorkingHoursTotal);
         //获取剩余工时
         //获取未完成的累计完成工时
         BigDecimal outstandingCumulativeWorkDone=fbsWorkshopDispatchListMapper.getOutstandingCumulativeWorkDone(list);
@@ -434,6 +483,11 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         return decimal;
     }
 
+    public BigDecimal getDecimalNew(String d){
+        BigDecimal decimal= new BigDecimal(d);
+        return decimal;
+    }
+
     private boolean isNumber(String str){
         if(isEmpty(str)){
             return false;
@@ -554,6 +608,9 @@ public class FbsWorkshopDispatchListServiceImpl extends ServiceImpl<FbsWorkshopD
         if(fbsWorkshopDispatchList.getFbsWorkshopDispatchListList()!=null){
             Integer sort=1;
             for(FbsWorkshopDispatchList dispatchList:fbsWorkshopDispatchList.getFbsWorkshopDispatchListList()){
+                if(dispatchList.getNumberOfTasks()==null){
+                    dispatchList.setNumberOfTasks(new BigDecimal("0.0"));
+                }
                 BigDecimal remain=dispatchList.getRemainingQuantity().subtract(dispatchList.getNumberOfTasks());
                 if(remain.doubleValue()<0.0){
                     dispatchList.setRemainingQuantity(new BigDecimal("0.0"));