chenc 3 سال پیش
والد
کامیت
65d0801647
40فایلهای تغییر یافته به همراه625 افزوده شده و 138 حذف شده
  1. 4 2
      src/main/java/org/jeecg/common/util/InterfaceConnUtils.java
  2. 27 2
      src/main/java/org/jeecg/modules/appInterface/controller/FbsWorkingStatisticsController.java
  3. 12 0
      src/main/java/org/jeecg/modules/appInterface/entity/FbsWorkingStatistics.java
  4. 12 0
      src/main/java/org/jeecg/modules/appInterface/mapper/FbsWorkingStatisticsMapper.java
  5. 13 0
      src/main/java/org/jeecg/modules/appInterface/mapper/xml/FbsWorkingStatisticsMapper.xml
  6. 5 0
      src/main/java/org/jeecg/modules/appInterface/service/IFbsWorkingStatisticsService.java
  7. 6 0
      src/main/java/org/jeecg/modules/appInterface/service/impl/FbsWorkingStatisticsServiceImpl.java
  8. 43 6
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/controller/FbsAbnormalWorkingHoursController.java
  9. 37 0
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/entity/FbsAbnormalWorkingHours.java
  10. 12 0
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/entity/FbsAbnormalWorkingHoursDescribe.java
  11. 5 0
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/mapper/FbsAbnormalWorkingHoursMapper.java
  12. 16 0
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/mapper/xml/FbsAbnormalWorkingHoursMapper.xml
  13. 5 0
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/service/IFbsAbnormalWorkingHoursService.java
  14. 22 0
      src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/service/impl/FbsAbnormalWorkingHoursServiceImpl.java
  15. 10 1
      src/main/java/org/jeecg/modules/fbsBasedate/controller/FbsTechnologicalProcessController.java
  16. 4 0
      src/main/java/org/jeecg/modules/fbsBasedate/entity/FbsTechnologicalProcess.java
  17. 3 0
      src/main/java/org/jeecg/modules/fbsBasedate/entity/FbsTechnologicalProcessItem.java
  18. 3 0
      src/main/java/org/jeecg/modules/fbsBasedate/mapper/FbsTechnologicalProcessMapper.java
  19. 9 1
      src/main/java/org/jeecg/modules/fbsBasedate/mapper/xml/FbsTechnologicalProcessMapper.xml
  20. 6 0
      src/main/java/org/jeecg/modules/fbsBasedate/service/IFbsTechnologicalProcessService.java
  21. 7 0
      src/main/java/org/jeecg/modules/fbsBasedate/service/impl/FbsTechnologicalProcessServiceImpl.java
  22. 3 1
      src/main/java/org/jeecg/modules/fbsInventory/mapper/xml/FbsInventoryMapper.xml
  23. 4 0
      src/main/java/org/jeecg/modules/fbsInventory/service/IFbsInventoryService.java
  24. 43 7
      src/main/java/org/jeecg/modules/fbsInventory/service/impl/FbsInventoryServiceImpl.java
  25. 3 0
      src/main/java/org/jeecg/modules/fbsMomOrder/entity/FbsMomOrder.java
  26. 4 0
      src/main/java/org/jeecg/modules/fbsMomOrder/entity/FbsMomOrderdetail.java
  27. 9 0
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/FbsMomOrderdetailMapper.java
  28. 29 5
      src/main/java/org/jeecg/modules/fbsMomOrder/mapper/xml/FbsMomOrderdetailMapper.xml
  29. 116 98
      src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderServiceImpl.java
  30. 2 2
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/controller/FbsWorkshopDispatchListController.java
  31. 7 0
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/entity/FbsWorkshopDispatchList.java
  32. 7 5
      src/main/java/org/jeecg/modules/fbsWorkshopDispatchList/mapper/xml/FbsWorkshopDispatchListMapper.xml
  33. 2 0
      src/main/java/org/jeecg/modules/pulldate/entity/PullDate.java
  34. 1 1
      src/main/java/org/jeecg/modules/pulldate/mapper/PullDateMapper.java
  35. 1 1
      src/main/java/org/jeecg/modules/pulldate/mapper/xml/PullDateMapper.xml
  36. 1 1
      src/main/java/org/jeecg/modules/pulldate/service/IPullDateService.java
  37. 2 2
      src/main/java/org/jeecg/modules/pulldate/service/impl/PullDateServiceImpl.java
  38. 27 3
      src/main/java/org/jeecg/modules/sapScheduledTask/SAPPull.java
  39. 51 0
      src/main/java/org/jeecg/modules/sapScheduledTask/SAPPullThree.java
  40. 52 0
      src/main/java/org/jeecg/modules/sapScheduledTask/SAPPullTwo.java

+ 4 - 2
src/main/java/org/jeecg/common/util/InterfaceConnUtils.java

@@ -27,7 +27,8 @@ public class InterfaceConnUtils {
         JSONObject onejb = new JSONObject();
         HttpClient httpClient = new DefaultHttpClient();
 //        HttpPost httpPost=new HttpPost("http://erpdev01.saplogin.freshhema.com:8000/sap/bc/zapi_inbound?sap-client=300");
-        HttpPost httpPost=new HttpPost("http://139.196.226.160:8000/sap/bc/zapi_inbound?sap-client=710");
+//        HttpPost httpPost=new HttpPost("http://139.196.226.160:8000/sap/bc/zapi_inbound?sap-client=710");
+        HttpPost httpPost=new HttpPost("http://139.196.199.214:8000/sap/bc/zapi_inbound?sap-client=800");
         httpPost.setHeader("Content-Type", "application/json");
         String tokenCode = "sap:Cwa1QJrhfhtXbzSGZi94ydBPNQCPbmz7";
         //使用base64进行加密
@@ -38,7 +39,8 @@ public class InterfaceConnUtils {
         String token = "Basic "+tokenStr;
         String encoding="";
         try {
-            encoding = DatatypeConverter.printBase64Binary("ZAPI:Api123456789".getBytes("UTF-8"));
+//            encoding = DatatypeConverter.printBase64Binary("ZKANB01:Aa12345678".getBytes("UTF-8"));
+            encoding = DatatypeConverter.printBase64Binary("ZKANB01:Kb6a5553ec90a".getBytes("UTF-8"));
         } catch (UnsupportedEncodingException e) {
             e.printStackTrace();
         }

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

@@ -40,9 +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.entity.FbsTechnologicalProcess;
 import org.jeecg.modules.fbsBasedate.entity.FbsTechnologicalProcessItem;
 import org.jeecg.modules.fbsBasedate.service.IFbsPersonnelService;
 import org.jeecg.modules.fbsBasedate.service.IFbsTechnologicalProcessItemService;
+import org.jeecg.modules.fbsBasedate.service.IFbsTechnologicalProcessService;
 import org.jeecg.modules.fbsInventory.entity.FbsInventory;
 import org.jeecg.modules.fbsInventory.service.IFbsInventoryService;
 import org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail;
@@ -95,6 +97,8 @@ public class FbsWorkingStatisticsController {
 	 @Autowired
 	 private IFbsTechnologicalProcessItemService iFbsTechnologicalProcessItemService;
 	 @Autowired
+	 private IFbsTechnologicalProcessService iFbsTechnologicalProcessService;
+	 @Autowired
 	 private IFbsMomOrderdetailService iFbsMomOrderdetailService;
 	 @Value("${jeecg.path.upload}")
 	 private String upLoadPath;
@@ -526,6 +530,12 @@ public class FbsWorkingStatisticsController {
 			 res.setMsg("该订单还没有上岗"+entity.getOrderNumber());
 			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
 		 }
+		 boolean isFinalProcess=finalProcess(workshopDispatchList,list2.get(0).getFbsTechnologicalProcessItemId());
+		 if(!isFinalProcess){
+			 res.setCode("1");
+			 res.setMsg("非最后一道工序不允许报工,只能下岗/暂停!");
+			 return new ResponseEntity<ResHttpStatus>(res, HttpStatus.OK);
+		 }
 		 //状态(0初始,1接单,2暂停,3完成)
 //		 if(workshopDispatchList.getState().equals("0") || workshopDispatchList.getState().equals("2")){
 //			 res.setCode("1");
@@ -1086,7 +1096,7 @@ public class FbsWorkingStatisticsController {
 			fbsWorkingStatistics.setFinalInfo(null);
 		}
 		QueryWrapper<FbsWorkingStatistics> queryWrapper = QueryGenerator.initQueryWrapper(fbsWorkingStatistics, req.getParameterMap());
-		queryWrapper.lambda().eq(FbsWorkingStatistics::getDelFlag,"0");
+		queryWrapper.eq("fws.del_flag","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);
@@ -1098,7 +1108,22 @@ public class FbsWorkingStatisticsController {
 		}
 		queryWrapper.lambda().orderByDesc(FbsWorkingStatistics::getFirstTime);
 		Page<FbsWorkingStatistics> page = new Page<FbsWorkingStatistics>(pageNo, pageSize);
-		IPage<FbsWorkingStatistics> pageList = fbsWorkingStatisticsService.page(page, queryWrapper);
+//		IPage<FbsWorkingStatistics> pageList = fbsWorkingStatisticsService.page(page, queryWrapper);
+		IPage<FbsWorkingStatistics> pageList = fbsWorkingStatisticsService.findByPage(page, queryWrapper);
+		//获取派工单的数据
+//		if(pageList.getRecords()!=null&&pageList.getRecords().size()>0){
+//			for(FbsWorkingStatistics fbsWorkingStatistics1:page.getRecords()){
+//				FbsWorkshopDispatchList fbsWorkshopDispatchList=fbsWorkshopDispatchListService.getById(fbsWorkingStatistics1.getPkWorkshopDispatchList());
+//				if(fbsWorkshopDispatchList!=null){
+//					fbsWorkingStatistics1.setCostItemCode(fbsWorkshopDispatchList.getCostItemCode());
+//					fbsWorkingStatistics1.setProjectName(fbsWorkshopDispatchList.getProjectName());
+//					//工作中心
+//					if(fbsWorkshopDispatchList.getFbsTechnologicalProcessId()!=null){
+//
+//					}
+//				}
+//			}
+//		}
 		result.setSuccess(true);
 		result.setResult(pageList);
 

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

@@ -165,4 +165,16 @@ public class FbsWorkingStatistics implements Serializable {
 	//结束时间
 	@TableField(exist = false)
 	private String end;
+
+	//项目编码
+	@TableField(exist = false)
+	private String costItemCode;
+
+	//项目名称
+	@TableField(exist = false)
+	private String projectName;
+
+	//工作中心
+	@TableField(exist = false)
+	private String workCenter;
 }

+ 12 - 0
src/main/java/org/jeecg/modules/appInterface/mapper/FbsWorkingStatisticsMapper.java

@@ -3,6 +3,8 @@ package org.jeecg.modules.appInterface.mapper;
 import java.util.List;
 import java.util.Map;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.appInterface.entity.FbsWorkingStatistics;
@@ -51,4 +53,14 @@ public interface FbsWorkingStatisticsMapper extends BaseMapper<FbsWorkingStatist
     * @return void
     */
     void updateIsCancelAndReportIdByIds(@Param("list")List<String> list,@Param("reportId")String reportId);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 自定义分页查询
+    * @Date 2022/4/12 16:20
+    * @Param [page, queryWrapper]
+    * @return com.baomidou.mybatisplus.core.metadata.IPage<org.jeecg.modules.appInterface.entity.FbsWorkingStatistics>
+    */
+    IPage<FbsWorkingStatistics> findByPage(IPage<FbsWorkingStatistics> page, @Param("ew") QueryWrapper<FbsWorkingStatistics> queryWrapper);
+
 }

+ 13 - 0
src/main/java/org/jeecg/modules/appInterface/mapper/xml/FbsWorkingStatisticsMapper.xml

@@ -17,6 +17,19 @@
               fwdl.product
       </select>-->
 
+    <select id="findByPage" resultType="org.jeecg.modules.appInterface.entity.FbsWorkingStatistics">
+        SELECT
+        fws.* ,
+        fwdl.project_name as projectName,
+        fwdl.cost_item_code as costItemCode,
+        ftp.memo as workCenter
+    FROM
+        fbs_working_statistics fws
+        LEFT JOIN fbs_workshop_dispatch_list fwdl ON fws.pk_workshop_dispatch_list = fwdl.id
+        left join fbs_technological_process ftp on fwdl.fbs_technological_process_id=ftp.id
+        ${ew.customSqlSegment}
+    </select>
+
     <select id="getByMaterial" resultType="java.util.HashMap">
         <!--SELECT
             sum( fwdl.man_hours_completed ) AS '生产',

+ 5 - 0
src/main/java/org/jeecg/modules/appInterface/service/IFbsWorkingStatisticsService.java

@@ -1,4 +1,6 @@
 package org.jeecg.modules.appInterface.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.modules.appInterface.entity.FbsWorkingStatistics;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList;
@@ -62,4 +64,7 @@ public interface IFbsWorkingStatisticsService extends IService<FbsWorkingStatist
     * @return
     */
     void updateIsCancelAndReportIdByIds(List<String> list,String reportId);
+
+    IPage<FbsWorkingStatistics> findByPage(IPage<FbsWorkingStatistics> page, QueryWrapper<FbsWorkingStatistics> queryWrapper);
+
 }

+ 6 - 0
src/main/java/org/jeecg/modules/appInterface/service/impl/FbsWorkingStatisticsServiceImpl.java

@@ -3,6 +3,7 @@ package org.jeecg.modules.appInterface.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.util.InterfaceConnUtils;
 import org.jeecg.modules.appInterface.entity.FbsWorkingStatistics;
@@ -223,6 +224,11 @@ public class FbsWorkingStatisticsServiceImpl extends ServiceImpl<FbsWorkingStati
         fbsWorkingStatisticsMapper.updateIsCancelAndReportIdByIds(list,reportId);
     }
 
+    @Override
+    public IPage<FbsWorkingStatistics> findByPage(IPage<FbsWorkingStatistics> page, QueryWrapper<FbsWorkingStatistics> queryWrapper) {
+        return fbsWorkingStatisticsMapper.findByPage(page,queryWrapper);
+    }
+
     public BigDecimal getDecimalNew(String d){
         if(StringUtils.isEmpty(d)){
             d="0.0";

+ 43 - 6
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/controller/FbsAbnormalWorkingHoursController.java

@@ -91,17 +91,54 @@ public class FbsAbnormalWorkingHoursController {
 		if(StringUtils.isNotBlank(end)){
 			fbsAbnormalWorkingHours.setEnd(null);
 		}
+		String costItemCode=fbsAbnormalWorkingHours.getCostItemCode();
+		if(StringUtils.isNotBlank(costItemCode)){
+			fbsAbnormalWorkingHours.setCostItemCode(null);
+		}
+		String projectName=fbsAbnormalWorkingHours.getProjectName();
+		if(StringUtils.isNotBlank(projectName)){
+			fbsAbnormalWorkingHours.setProjectName(null);
+		}
+		String productionOrderNumberName=fbsAbnormalWorkingHours.getProductionOrderNumberName();
+		if(StringUtils.isNotBlank(productionOrderNumberName)){
+			fbsAbnormalWorkingHours.setProductionOrderNumberName(null);
+		}
+		String productId=fbsAbnormalWorkingHours.getProductId();
+		if(StringUtils.isNotBlank(productId)){
+			fbsAbnormalWorkingHours.setProductId(null);
+		}
+		String product=fbsAbnormalWorkingHours.getProduct();
+		if(StringUtils.isNotBlank(product)){
+			fbsAbnormalWorkingHours.setProduct(null);
+		}
 		QueryWrapper<FbsAbnormalWorkingHours> queryWrapper = QueryGenerator.initQueryWrapper(fbsAbnormalWorkingHours, req.getParameterMap());
-		queryWrapper.lambda().eq(FbsAbnormalWorkingHours::getDelFlag,"0");
-		queryWrapper.lambda().orderByDesc(FbsAbnormalWorkingHours::getCreateTime);
+		queryWrapper.eq("fawh.del_flag","0");
+		queryWrapper.orderByDesc("fawh.create_time");
+		queryWrapper.groupBy("fawh.id");
+		if(StringUtils.isNotBlank(costItemCode)){
+			queryWrapper.eq("fawhd.cost_item_code",costItemCode);
+		}
+		if(StringUtils.isNotBlank(projectName)){
+			queryWrapper.like("fawhd.project_name",projectName);
+		}
+		if(StringUtils.isNotBlank(productionOrderNumberName)){
+			queryWrapper.eq("fawhd.production_order_number_name",productionOrderNumberName);
+		}
+		if(StringUtils.isNotBlank(productId)){
+			queryWrapper.eq("fawhd.product_id",productId);
+		}
+		if(StringUtils.isNotBlank(product)){
+			queryWrapper.like("fawhd.product",product);
+		}
 		if(StringUtils.isNotBlank(start)&&StringUtils.isNotBlank(end)&&!start.equals("null")&&!end.equals("null")){
-			queryWrapper.ge("DATE_FORMAT(date,'%Y-%m-%d')",start);
-			queryWrapper.le("DATE_FORMAT(date,'%Y-%m-%d')",end);
+			queryWrapper.ge("DATE_FORMAT(fawh.date,'%Y-%m-%d')",start);
+			queryWrapper.le("DATE_FORMAT(fawh.date,'%Y-%m-%d')",end);
 		}else{
-			queryWrapper.apply("DATE_FORMAT( date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
+			queryWrapper.apply("DATE_FORMAT( fawh.date, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )");
 		}
 		Page<FbsAbnormalWorkingHours> page = new Page<FbsAbnormalWorkingHours>(pageNo, pageSize);
-		IPage<FbsAbnormalWorkingHours> pageList = fbsAbnormalWorkingHoursService.page(page, queryWrapper);
+//		IPage<FbsAbnormalWorkingHours> pageList = fbsAbnormalWorkingHoursService.page(page, queryWrapper);
+		IPage<FbsAbnormalWorkingHours> pageList = fbsAbnormalWorkingHoursService.findByPage(page, queryWrapper);
 		result.setSuccess(true);
 		result.setResult(pageList);
 		return result;

+ 37 - 0
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/entity/FbsAbnormalWorkingHours.java

@@ -231,4 +231,41 @@ public class FbsAbnormalWorkingHours implements Serializable {
 	//结束时间
 	@TableField(exist = false)
 	private String end;
+
+	//无效工时
+	@TableField(exist = false)
+	private String invalidWork;
+
+	//设计
+	@TableField(exist = false)
+	private String anomalyClassification1;
+	//物料
+	@TableField(exist = false)
+	private String anomalyClassification2;
+	//计划
+	@TableField(exist = false)
+	private String anomalyClassification3;
+	//制程
+	@TableField(exist = false)
+	private String anomalyClassification4;
+	//其他
+	@TableField(exist = false)
+	private String anomalyClassification5;
+	//异常工时
+	@TableField(exist = false)
+	private String abnormalWorkingHours;
+
+	//项目编号
+	@TableField(exist = false)
+	private String costItemCode;
+
+	//项目名称
+	@TableField(exist = false)
+	private String projectName;
+
+	//生产订单号
+	@TableField(exist = false)
+	private String productionOrderNumberName;
+
+
 }

+ 12 - 0
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/entity/FbsAbnormalWorkingHoursDescribe.java

@@ -99,6 +99,18 @@ public class FbsAbnormalWorkingHoursDescribe implements Serializable {
 	private BigDecimal materielNumberOfTasks;
 	/**不良物料不良数量*/
 	private BigDecimal materielBadNumber;
+	//异常分类
+	private String anomalyClassification;
+	//异常工时
+	private String abnormalWorkingHours;
+	//不良率
+	private String defectiveRate;
+	//项目编码
+	private String costItemCode;
+	//项目名称
+	private String projectName;
+	//工作中心
+	private String workCenter;
 
 	//异常分类总数
 	@TableField(exist = false)

+ 5 - 0
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/mapper/FbsAbnormalWorkingHoursMapper.java

@@ -3,6 +3,8 @@ package org.jeecg.modules.fbsAbnormalWorkingHours.mapper;
 import java.util.List;
 import java.util.Map;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHours;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -59,4 +61,7 @@ public interface FbsAbnormalWorkingHoursMapper extends BaseMapper<FbsAbnormalWor
     * @return org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHours
     */
     FbsAbnormalWorkingHours getTotal(@Param("yearMonth")String yearMonth);
+
+    IPage<FbsAbnormalWorkingHours> findByPage(IPage<FbsAbnormalWorkingHours> page, @Param("ew") QueryWrapper<FbsAbnormalWorkingHours> queryWrapper);
+
 }

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

@@ -147,4 +147,20 @@
             del_flag = '0' AND date_format( date,'%Y-%m' )=#{yearMonth}
             ) aa
     </select>
+
+    <select id="findByPage" resultType="org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHours">
+        SELECT
+            IFNULL(fawh.train,0)+IFNULL(fawh.meeting,0)+IFNULL(fawh.research_and_development,0)+IFNULL(fawh.five_s,0)+IFNULL(fawh.other,0) as invalidWork,
+            (select sum(IFNULL(fawhdd.abnormal_working_hours,0)) from fbs_abnormal_working_hours_describe fawhdd where fawhdd.abnormal_working_hours_id=fawh.id AND fawhdd.anomaly_classification='1' AND fawhdd.cost_item_code=fawhd.cost_item_code AND fawhdd.project_name=fawhd.project_name AND fawhdd.production_order_number_name=fawhd.production_order_number_name AND fawhdd.product_id=fawhd.product_id AND fawhdd.product=fawhd.product) as anomalyClassification1,
+            (select sum(IFNULL(fawhdd.abnormal_working_hours,0)) from fbs_abnormal_working_hours_describe fawhdd where fawhdd.abnormal_working_hours_id=fawh.id AND fawhdd.anomaly_classification='2' AND fawhdd.cost_item_code=fawhd.cost_item_code AND fawhdd.project_name=fawhd.project_name AND fawhdd.production_order_number_name=fawhd.production_order_number_name AND fawhdd.product_id=fawhd.product_id AND fawhdd.product=fawhd.product) as anomalyClassification2,
+            (select sum(IFNULL(fawhdd.abnormal_working_hours,0)) from fbs_abnormal_working_hours_describe fawhdd where fawhdd.abnormal_working_hours_id=fawh.id AND fawhdd.anomaly_classification='3' AND fawhdd.cost_item_code=fawhd.cost_item_code AND fawhdd.project_name=fawhd.project_name AND fawhdd.production_order_number_name=fawhd.production_order_number_name AND fawhdd.product_id=fawhd.product_id AND fawhdd.product=fawhd.product) as anomalyClassification3,
+            (select sum(IFNULL(fawhdd.abnormal_working_hours,0)) from fbs_abnormal_working_hours_describe fawhdd where fawhdd.abnormal_working_hours_id=fawh.id AND fawhdd.anomaly_classification='4' AND fawhdd.cost_item_code=fawhd.cost_item_code AND fawhdd.project_name=fawhd.project_name AND fawhdd.production_order_number_name=fawhd.production_order_number_name AND fawhdd.product_id=fawhd.product_id AND fawhdd.product=fawhd.product) as anomalyClassification4,
+            (select sum(IFNULL(fawhdd.abnormal_working_hours,0)) from fbs_abnormal_working_hours_describe fawhdd where fawhdd.abnormal_working_hours_id=fawh.id AND fawhdd.anomaly_classification='5' AND fawhdd.cost_item_code=fawhd.cost_item_code AND fawhdd.project_name=fawhd.project_name AND fawhdd.production_order_number_name=fawhd.production_order_number_name AND fawhdd.product_id=fawhd.product_id AND fawhdd.product=fawhd.product) as anomalyClassification5,
+            fawh.*
+        FROM
+            fbs_abnormal_working_hours fawh
+            left join fbs_abnormal_working_hours_describe fawhd on fawhd.abnormal_working_hours_id=fawh.id
+            ${ew.customSqlSegment}
+
+    </select>
 </mapper>

+ 5 - 0
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/service/IFbsAbnormalWorkingHoursService.java

@@ -1,5 +1,7 @@
 package org.jeecg.modules.fbsAbnormalWorkingHours.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHours;
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList;
@@ -95,4 +97,7 @@ public interface IFbsAbnormalWorkingHoursService extends IService<FbsAbnormalWor
     * @return org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHours
     */
     FbsAbnormalWorkingHours getTotal(String yearMonth);
+
+    IPage<FbsAbnormalWorkingHours> findByPage(IPage<FbsAbnormalWorkingHours> page, QueryWrapper<FbsAbnormalWorkingHours> queryWrapper);
+
 }

+ 22 - 0
src/main/java/org/jeecg/modules/fbsAbnormalWorkingHours/service/impl/FbsAbnormalWorkingHoursServiceImpl.java

@@ -3,6 +3,8 @@ package org.jeecg.modules.fbsAbnormalWorkingHours.service.impl;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHours;
 import org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHoursDescribe;
 import org.jeecg.modules.fbsAbnormalWorkingHours.entity.FbsAbnormalWorkingHoursType;
@@ -22,6 +24,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -345,4 +348,23 @@ public class FbsAbnormalWorkingHoursServiceImpl extends ServiceImpl<FbsAbnormalW
         return fbsAbnormalWorkingHoursMapper.getTotal(yearMonth);
     }
 
+    @Override
+    public IPage<FbsAbnormalWorkingHours> findByPage(IPage<FbsAbnormalWorkingHours> page, QueryWrapper<FbsAbnormalWorkingHours> queryWrapper) {
+        IPage<FbsAbnormalWorkingHours> pageR=fbsAbnormalWorkingHoursMapper.findByPage(page,queryWrapper);
+        if(pageR.getRecords()!=null&&pageR.getRecords().size()>0){
+            for(FbsAbnormalWorkingHours fbsAbnormalWorkingHours:pageR.getRecords()){
+                BigDecimal aa=getDecimalNew(fbsAbnormalWorkingHours.getAnomalyClassification1()).add(getDecimalNew(fbsAbnormalWorkingHours.getAnomalyClassification2())).add(getDecimalNew(fbsAbnormalWorkingHours.getAnomalyClassification3())).add(getDecimalNew(fbsAbnormalWorkingHours.getAnomalyClassification4())).add(getDecimalNew(fbsAbnormalWorkingHours.getAnomalyClassification5()));
+                fbsAbnormalWorkingHours.setAbnormalWorkingHours(aa.doubleValue()+"");
+            }
+        }
+        return pageR;
+    }
+    public BigDecimal getDecimalNew(String d){
+        if(StringUtils.isEmpty(d)||d.equals("null")){
+            d="0.0";
+        }
+        BigDecimal decimal= new BigDecimal(d);
+        return decimal;
+    }
+
 }

+ 10 - 1
src/main/java/org/jeecg/modules/fbsBasedate/controller/FbsTechnologicalProcessController.java

@@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.oConvertUtils;
@@ -63,10 +64,18 @@ public class FbsTechnologicalProcessController {
 									  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 									  HttpServletRequest req) {
 		Result<IPage<FbsTechnologicalProcess>> result = new Result<IPage<FbsTechnologicalProcess>>();
+		String cInvCName=fbsTechnologicalProcess.getCinvCName();
+		if(StringUtils.isNotBlank(cInvCName)){
+			fbsTechnologicalProcess.setCinvCName(null);
+		}
 		QueryWrapper<FbsTechnologicalProcess> queryWrapper = QueryGenerator.initQueryWrapper(fbsTechnologicalProcess, req.getParameterMap());
 		queryWrapper.lambda().eq(FbsTechnologicalProcess::getDelFlag,"0");
+		if(StringUtils.isNotBlank(cInvCName)){
+			queryWrapper.like("i.cInvCName",cInvCName);
+		}
 		Page<FbsTechnologicalProcess> page = new Page<FbsTechnologicalProcess>(pageNo, pageSize);
-		IPage<FbsTechnologicalProcess> pageList = fbsTechnologicalProcessService.page(page, queryWrapper);
+//		IPage<FbsTechnologicalProcess> pageList = fbsTechnologicalProcessService.page(page, queryWrapper);
+		IPage<FbsTechnologicalProcess> pageList = fbsTechnologicalProcessService.findByPage(page, queryWrapper);
 		result.setSuccess(true);
 		result.setResult(pageList);
 		return result;

+ 4 - 0
src/main/java/org/jeecg/modules/fbsBasedate/entity/FbsTechnologicalProcess.java

@@ -74,6 +74,10 @@ public class FbsTechnologicalProcess implements Serializable {
 	/**拉取时间*/
 	private String pullDate;
 
+	//存货名称
+	@TableField(exist = false)
+	private String cinvCName;
+
 	//明细
 	@TableField(exist = false)
 	private List<FbsTechnologicalProcessItem> fbsTechnologicalProcessItemList;

+ 3 - 0
src/main/java/org/jeecg/modules/fbsBasedate/entity/FbsTechnologicalProcessItem.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.fbsBasedate.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;
@@ -71,6 +72,8 @@ public class FbsTechnologicalProcessItem implements Serializable {
 	/**主表id*/
 	@Excel(name = "主表id", width = 15)
 	private String fbsTechnologicalProcessId;
+	//标准工时
+	private BigDecimal standardWorkingHours;
 
 	//是否完成到这个工艺(1是,2不是)
 	@TableField(exist = false)

+ 3 - 0
src/main/java/org/jeecg/modules/fbsBasedate/mapper/FbsTechnologicalProcessMapper.java

@@ -2,6 +2,8 @@ package org.jeecg.modules.fbsBasedate.mapper;
 
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.fbsBasedate.entity.FbsTechnologicalProcess;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface FbsTechnologicalProcessMapper extends BaseMapper<FbsTechnologicalProcess> {
 
+    IPage<FbsTechnologicalProcess> findByPage(IPage<FbsTechnologicalProcess> page, @Param("ew") QueryWrapper<FbsTechnologicalProcess> queryWrapper);
 }

+ 9 - 1
src/main/java/org/jeecg/modules/fbsBasedate/mapper/xml/FbsTechnologicalProcessMapper.xml

@@ -1,5 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.fbsBasedate.mapper.FbsTechnologicalProcessMapper">
-
+    <select id="findByPage" resultType="org.jeecg.modules.fbsBasedate.entity.FbsTechnologicalProcess">
+        SELECT
+            i.cInvCName as cinvCName,
+            ftp.*
+        FROM
+            fbs_technological_process ftp
+            LEFT JOIN inventory i ON ftp.NAME = i.cInvCode
+            ${ew.customSqlSegment}
+    </select>
 </mapper>

+ 6 - 0
src/main/java/org/jeecg/modules/fbsBasedate/service/IFbsTechnologicalProcessService.java

@@ -1,5 +1,8 @@
 package org.jeecg.modules.fbsBasedate.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.fbsBasedate.entity.FbsTechnologicalProcess;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -13,4 +16,7 @@ public interface IFbsTechnologicalProcessService extends IService<FbsTechnologic
     void addAll(FbsTechnologicalProcess fbsTechnologicalProcess);
 
     void updateAll(FbsTechnologicalProcess fbsTechnologicalProcess);
+
+    IPage<FbsTechnologicalProcess> findByPage(IPage<FbsTechnologicalProcess> page, QueryWrapper<FbsTechnologicalProcess> queryWrapper);
+
 }

+ 7 - 0
src/main/java/org/jeecg/modules/fbsBasedate/service/impl/FbsTechnologicalProcessServiceImpl.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.fbsBasedate.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.jeecg.modules.fbsBasedate.entity.FbsTechnologicalProcess;
 import org.jeecg.modules.fbsBasedate.entity.FbsTechnologicalProcessItem;
 import org.jeecg.modules.fbsBasedate.mapper.FbsTechnologicalProcessItemMapper;
@@ -62,4 +64,9 @@ public class FbsTechnologicalProcessServiceImpl extends ServiceImpl<FbsTechnolog
             addItem(fbsTechnologicalProcess);
         }
     }
+
+    @Override
+    public IPage<FbsTechnologicalProcess> findByPage(IPage<FbsTechnologicalProcess> page, QueryWrapper<FbsTechnologicalProcess> queryWrapper) {
+        return this.baseMapper.findByPage(page,queryWrapper);
+    }
 }

+ 3 - 1
src/main/java/org/jeecg/modules/fbsInventory/mapper/xml/FbsInventoryMapper.xml

@@ -13,6 +13,7 @@
         LEFT JOIN Inventory i ON m.InvCode = i.cInvCode
         WHERE
         m.MoId = #{moId}
+        AND m.Status <![CDATA[ <>]]> 5
     </select>
 
     <select id="getStockList" resultType="java.util.HashMap">
@@ -31,7 +32,7 @@
         select a.iQuantity realStockSum,b.cInvName materialName,b.cInvCode cInvCode from
         (select cInvCode,sum(iQuantity) as iQuantity  from CurrentStock group by cInvCode) a
         left join Inventory b on a.cInvCode = b.cInvCode
-        where b.cInvCCode='0101' and a.iQuantity>0
+        where b.cInvCCode in ('5501','6601','6602','7701','7702','7703') and a.iQuantity>0
        <!-- SELECT
           cInvName materialName,
           SUM ( iSafeNum ) realStockSum
@@ -68,6 +69,7 @@
         WHERE
             mo.MoCode = #{moCode}
             AND i.cInvCCode = '020206'
+            AND momo.Status <![CDATA[ <>]]> 5
     </select>
 
     <select id="getInventory" resultType="org.jeecg.modules.fbsInventory.entity.FbsInventory">

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

@@ -164,4 +164,8 @@ public interface IFbsInventoryService extends IService<FbsInventory> {
     void addSAPRdrecord32MainAndItem(Long start,Long end);
 
     void implementSAPPull();
+
+    void implementSAPPullTwo();
+
+    void implementSAPPullThree();
 }

+ 43 - 7
src/main/java/org/jeecg/modules/fbsInventory/service/impl/FbsInventoryServiceImpl.java

@@ -773,38 +773,74 @@ public class FbsInventoryServiceImpl extends ServiceImpl<FbsInventoryMapper, Fbs
     public void implementSAPPull() {
         SimpleDateFormat sdf =   new SimpleDateFormat( "yyyyMMddHHmmss" );
         Date nowDate=new Date();//当前时间
-        Date endtime=iPullDateService.getMaxEndTime();//上一次查询日期
+        Date endtime=iPullDateService.getMaxEndTime("1");//上一次查询日期
         //保存本次查询时间
         PullDate pullDate=new PullDate();
         pullDate.setEndTime(nowDate);
+        pullDate.setType("1");
         iPullDateService.save(pullDate);
 
         Long start=Long.valueOf(sdf.format(endtime));//上一次查询时间
         Long end=Long.valueOf(sdf.format(nowDate));//当前时间
         System.out.println("开始:"+start);
         System.out.println("结束:"+end);
-        //存货档案
-        this.addSAPInventory(start,end);
+
         //生产订单
         iFbsMomOrderService.getPullSapMomOrderAll(start,end);
+    }
+
+    @Override
+    public void implementSAPPullTwo() {
+        SimpleDateFormat sdf =   new SimpleDateFormat( "yyyyMMddHHmmss" );
+        Date nowDate=new Date();//当前时间
+        Date endtime=iPullDateService.getMaxEndTime("2");//上一次查询日期
+        //保存本次查询时间
+        PullDate pullDate=new PullDate();
+        pullDate.setEndTime(nowDate);
+        pullDate.setType("2");
+        iPullDateService.save(pullDate);
+
+        Long start=Long.valueOf(sdf.format(endtime));//上一次查询时间
+        Long end=Long.valueOf(sdf.format(nowDate));//当前时间
+        System.out.println("开始:"+start);
+        System.out.println("结束:"+end);
+        //检验单
+        this.addSAPQMCHECKVOUCHER(start,end);
         //库存存量(全量获取)
         this.addSAPCurrentStock(start,end);
         //产成品主子表
         this.addSAPRdrecord10MainAndItems(start,end);
-        //供应商
-        this.addSAPVendor(start,end);
         //采购订单
         this.addSAPPO_PoMainAndItems(start,end);
         //采购到货
         this.addSAPPuArrivalvouch(start,end);
         //领料单
         this.addSAPMaterialappvouchMainAndItem(start,end);
-        //检验单
-        this.addSAPQMCHECKVOUCHER(start,end);
         //销售出库
         this.addSAPRdrecord32MainAndItem(start,end);
     }
 
+    @Override
+    public void implementSAPPullThree() {
+        SimpleDateFormat sdf =   new SimpleDateFormat( "yyyyMMddHHmmss" );
+        Date nowDate=new Date();//当前时间
+        Date endtime=iPullDateService.getMaxEndTime("3");//上一次查询日期
+        //保存本次查询时间
+        PullDate pullDate=new PullDate();
+        pullDate.setEndTime(nowDate);
+        pullDate.setType("3");
+        iPullDateService.save(pullDate);
+
+        Long start=Long.valueOf(sdf.format(endtime));//上一次查询时间
+        Long end=Long.valueOf(sdf.format(nowDate));//当前时间
+        System.out.println("开始:"+start);
+        System.out.println("结束:"+end);
+        //存货档案
+        this.addSAPInventory(start,end);
+        //供应商
+        this.addSAPVendor(start,end);
+    }
+
 
     public BigDecimal getDecimalNew(String d){
         if(StringUtils.isEmpty(d)||d.equals("null")||!isNumericzidai(d)){

+ 3 - 0
src/main/java/org/jeecg/modules/fbsMomOrder/entity/FbsMomOrder.java

@@ -129,5 +129,8 @@ public class FbsMomOrder implements Serializable {
 	@Excel(name = "csysbarcode", width = 15)
 	private String csysbarcode;
 
+	//项目编码
+	private String costItemCode;
+
 
 }

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

@@ -484,4 +484,8 @@ public class FbsMomOrderdetail implements Serializable {
 
 	@TableField(exist = false)
 	private Object modQty;
+
+	//项目编码
+	@TableField(exist = false)
+	private String costItemCode;
 }

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

@@ -294,4 +294,13 @@ public interface FbsMomOrderdetailMapper extends BaseMapper<FbsMomOrderdetail> {
     * @return void
     */
     void deleteSAPMomOrder(@Param(value = "list") List<FbsMomOrder> list);
+
+    /**
+    * @Author chenchuang
+    * @Description //TODO 根据订单号修改状态
+    * @Date 2022/4/7 19:00
+    * @Param [MoDId]
+    * @return void
+    */
+    void updateOrderdetailStatus(@Param(value = "list") List<String> list);
 }

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

@@ -11,7 +11,7 @@
         WHERE
             <!--substring( mo.MoCode, 3, 4 ) = substring( CONVERT ( VARCHAR ( 100 ), GETDATE ( ), 112 ), 3, 4 )-->
             DATE_FORMAT(mo.CreateTime, '%Y%m' ) = DATE_FORMAT(CURDATE(), '%Y%m' )
-
+            AND modee.Status <![CDATA[ <>]]> 5
     </select>
 
     <select id="getQualifiedInQty" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
@@ -21,6 +21,7 @@
         FROM
         mom_orderdetail mo
         LEFT JOIN Inventory i ON mo.InvCode = i.cInvCode
+        where mo.Status <![CDATA[ <>]]> 5
         GROUP BY
         i.cInvName
     </select>
@@ -77,6 +78,7 @@
         <!-- substring( m.MoCode, 3, 4 ) = substring( CONVERT ( VARCHAR ( 100 ), GETDATE ( ), 112 ), 3, 4 )
          and mo.Status in ('3','4')-->
         mo.Status <![CDATA[ <>]]> 4
+        AND mo.Status <![CDATA[ <>]]> 5
      ORDER BY
          m.createtime DESC
  </select>
@@ -93,6 +95,7 @@
      mo.Qty,
      mo.QualifiedInQty,
      m.Define12,
+     m.cost_item_code as costItemCode,
      mm.StartDate,
      mm.DueDate
      FROM
@@ -194,6 +197,7 @@ MONTH,
 mm.StartDate,
 getdate()) =0-->
         substring(m.MoCode, 3, 4)=#{month}
+        AND mo.Status <![CDATA[ <>]]> 5
         ORDER BY
         m.createtime DESC
     </select>
@@ -210,10 +214,12 @@ getdate()) =0-->
             LEFT JOIN Inventory i ON mo.InvCode= i.cInvCode
         WHERE
             <!--SUBSTRING ( m.MoCode, 3, 4 ) = SUBSTRING ( CONVERT ( VARCHAR ( 100 ), GETDATE( ), 112 ), 3, 4 )-->
-            mo.Status <![CDATA[ <>]]> 4
-            AND m.Define12 IS NOT NULL
+            <!--mo.Status <![CDATA[ <>]]> 4-->
+            m.Define12 IS NOT NULL
+            AND mo.Status <![CDATA[ <>]]> 5
         GROUP BY
             m.Define12
+        HAVING Qty <![CDATA[ <>]]> QualifiedInQty
     </select>
 
     <select id="getDayList" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
@@ -234,6 +240,7 @@ getdate()) =0-->
             dd,
             mm.StartDate,
             getdate()) =0
+            AND mo.Status <![CDATA[ <>]]> 5
     </select>
 
     <select id="getListByOrderSheetCurrentStock" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
@@ -269,6 +276,7 @@ getdate()) =0-->
             mo.RelsUser IS NOT NULL
           <!--AND SUBSTRING ( m.MoCode, 3, 4 ) = SUBSTRING ( CONVERT ( VARCHAR ( 100 ), GETDATE( ), 112 ), 3, 4 )-->
           AND mo.Status <![CDATA[ <>]]> 4
+          AND mo.Status <![CDATA[ <>]]> 5
           ORDER BY m.MoCode,mo.InvCode DESC
     </select>
 
@@ -287,7 +295,7 @@ getdate()) =0-->
             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}
+            where m.MoCode=#{moCode} AND mo.Status <![CDATA[ <>]]> 5
     </select>
 
     <select id="">
@@ -325,6 +333,7 @@ getdate()) =0-->
         LEFT JOIN Inventory i ON mo.InvCode= i.cInvCode
         WHERE mo.RelsUser is NOT NULL
         AND SUBSTRING ( m.MoCode, 3, 4 ) = SUBSTRING ( CONVERT ( VARCHAR ( 100 ), GETDATE( ), 112 ), 3, 4 )
+        AND mo.Status <![CDATA[ <>]]> 5
         GROUP BY
         mo.MoId,
         mo.InvCode,
@@ -351,6 +360,7 @@ getdate()) =0-->
         LEFT JOIN mom_order m ON mo.MoId= m.MoId
             LEFT JOIN Inventory i ON mo.InvCode= i.cInvCode
         WHERE SUBSTRING ( m.MoCode, 3, 4 ) = SUBSTRING ( CONVERT ( VARCHAR ( 100 ), GETDATE( ), 112 ), 3, 4 )
+        mo.Status <![CDATA[ <>]]> 5
         GROUP BY
             mo.MoId,
             mo.InvCode,
@@ -379,6 +389,7 @@ getdate()) =0-->
         LEFT JOIN Inventory i ON mm.InvCode= i.cInvCode
         LEFT JOIN Inventory moi on moi.cInvCode=mo.InvCode
 				where mm.Qty-mm.IssQty>0 and mo.RelsUser is NOT NULL
+				AND mo.Status <![CDATA[ <>]]> 5
 				AND SUBSTRING ( m.MoCode, 3, 4 ) = SUBSTRING ( CONVERT ( VARCHAR ( 100 ), GETDATE( ), 112 ), 3, 4 )
 				ORDER BY m.MoCode
     </select>
@@ -453,6 +464,7 @@ getdate()) =0-->
         WHERE
            <!-- DateDiff( dd, mo.CreateTime, getdate ( ) ) <![CDATA[ <=]]> 90 sql修改-->
             DATE_SUB(CURDATE(), INTERVAL 90 DAY)  <![CDATA[ <=]]> date(mo.CreateTime)
+        AND MOD.Status <![CDATA[ <>]]> 5
     </select>
 
     <select id="getMomOrderDetailByMoCode" resultType="org.jeecg.modules.fbsMomOrder.entity.FbsMomOrderdetail">
@@ -463,6 +475,7 @@ getdate()) =0-->
             LEFT JOIN mom_orderdetail MOD ON mo.MoId = MOD.MoId
         WHERE
             mo.MoCode = #{moCode}
+            AND MOD.Status <![CDATA[ <>]]> 5
     </select>
 
 
@@ -487,6 +500,7 @@ getdate()) =0-->
         WHERE
             mo.RelsUser IS NOT NULL
             AND mo.Status  <![CDATA[ <> ]]> 4
+            AND mo.Status <![CDATA[ <>]]> 5
             AND mm.Qty  <![CDATA[ <> ]]> mm.IssQty
             ORDER BY
             m.MoCode,
@@ -513,6 +527,7 @@ getdate()) =0-->
         WHERE
         mo.RelsUser IS NOT NULL
         AND mo.Status   <![CDATA[ <> ]]> 4
+        AND mo.Status <![CDATA[ <>]]> 5
         AND mm.Qty <![CDATA[ <> ]]> mm.IssQty
         GROUP BY
         mo.InvCode,
@@ -541,6 +556,7 @@ getdate()) =0-->
         WHERE
             mo.RelsUser IS NOT NULL
             AND mo.Status  <![CDATA[ <> ]]> 4
+            AND mo.Status <![CDATA[ <>]]> 5
             GROUP BY
             m.MoCode,
             mo.InvCode,
@@ -579,13 +595,14 @@ getdate()) =0-->
 
     <insert id="insertSAPMomOrderdetail" parameterType="java.util.List">
         <foreach collection="list" item="item" index="index" separator=";">
-            insert into mom_orderdetail (id,MoDId,MoId,InvCode,CostItemName,Qty,SortSeq,QualifiedInQty,Status,SAPStatus,CloseTime,RelsUser,pull_date) values
+            insert into mom_orderdetail (id,MoDId,MoId,InvCode,CostItemName,cost_item_code,Qty,SortSeq,QualifiedInQty,Status,SAPStatus,CloseTime,RelsUser,pull_date) values
             (
             #{item.id},
             #{item.MoDId},
             #{item.MoId},
             #{item.InvCode},
             #{item.CostItemName},
+            #{item.cost_item_code},
             #{item.Qty},
             #{item.SortSeq},
             #{item.QualifiedInQty},
@@ -656,4 +673,11 @@ getdate()) =0-->
             #{item.moid}
         </foreach>
     </delete>
+
+    <update id="updateOrderdetailStatus" parameterType="java.util.List">
+        update mom_orderdetail set STATUS='5' where MoId in
+        <foreach collection="list" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </update>
 </mapper>

+ 116 - 98
src/main/java/org/jeecg/modules/fbsMomOrder/service/impl/FbsMomOrderServiceImpl.java

@@ -106,128 +106,141 @@ public class FbsMomOrderServiceImpl extends ServiceImpl<FbsMomOrderMapper, FbsMo
             List<Map<String,Object>> fbsMomOrderdetailList=new ArrayList<>();//生产订单明细
             List<Map<String,Object>> momMorderList=new ArrayList<>();//生产订单资料
             List<Map<String,Object>> malList=new ArrayList<>();//生产订单子件
-
+            List<String> moIDList=new ArrayList<>();
             //接收成功
             jsonArray=jsonObjectResults.getJSONArray("RESULTS");
             for(int a=0;a<jsonArray.size();a++) {
-                JSONObject jsonObject=jsonArray.getJSONObject(a);
+                JSONObject jsonObject = jsonArray.getJSONObject(a);
+                String STATUS = String.valueOf(jsonObject.get("STATUS")).trim();//状态
+                if(StringUtils.isNotBlank(STATUS)&&STATUS.equals("REL 标记")) {
+                    //根据订单号修改状态为删除
+//                    fbsMomOrderdetailMapper.updateOrderdetailStatus(String.valueOf(jsonObject.get("MOID")));
+                    moIDList.add(String.valueOf(jsonObject.get("MOID")));
+                }else{
                 //生产订单数据
-                FbsMomOrder fbsMomOrder =new FbsMomOrder();
+                FbsMomOrder fbsMomOrder = new FbsMomOrder();
 //                fbsMomOrder.setId(UUID.randomUUID().toString());
                 fbsMomOrder.setMoid(String.valueOf(jsonObject.get("MOID")));//生产订单id(SAP生产订单号)
                 fbsMomOrder.setMocode(String.valueOf(jsonObject.get("MOCODE")));//生产订单号
                 fbsMomOrder.setDefine12(String.valueOf(jsonObject.get("DEFINE12")));//项目名称
-                SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
-                if(StringUtils.isNotBlank(String.valueOf(jsonObject.get("CREATETIME")))){
+                fbsMomOrder.setCostItemCode(String.valueOf(jsonObject.get("CostItemCode")));//项目编码
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                if (StringUtils.isNotBlank(String.valueOf(jsonObject.get("CREATETIME")))) {
                     try {
-                        String DPODATE=String.valueOf(jsonObject.get("CREATETIME"));
-                        DPODATE=DPODATE+" 00:00:00";
-                        fbsMomOrder.setCreatetime(sdf.parse( DPODATE ));//创建时间
+                        String DPODATE = String.valueOf(jsonObject.get("CREATETIME"));
+                        DPODATE = DPODATE + " 00:00:00";
+                        fbsMomOrder.setCreatetime(sdf.parse(DPODATE));//创建时间
                     } catch (ParseException e) {
                         e.printStackTrace();
                     }
-                }else {
+                } else {
                     fbsMomOrder.setCreatetime(null);//创建时间
                 }
 //                fbsMomOrder.put("create_time",sdf.format(new Date()));//创建时间
                 //保存生产订单
 //                fbsMomOrderMapper.insert(fbsMomOrder);
+
+
                 fbsMomOrderList.add(fbsMomOrder);
 
+
                 //生产订单明细
                 //        FbsMomOrderdetail fbsMomOrderdetail=new FbsMomOrderdetail();
-                Map<String,Object> fbsMomOrderdetail=new LinkedHashMap<>();
-                fbsMomOrderdetail.put("id",UUID.randomUUID().toString());
-                fbsMomOrderdetail.put("MoDId",String.valueOf(jsonObject.get("MOID")));//生产订单明细id(SAP生产订单号)
-                fbsMomOrderdetail.put("MoId",String.valueOf(jsonObject.get("MOID")));//生产订单id(SAP生产订单号)
-                String InvCode=String.valueOf(jsonObject.get("INVCODE"));//存货编码
+                Map<String, Object> fbsMomOrderdetail = new LinkedHashMap<>();
+                fbsMomOrderdetail.put("id", UUID.randomUUID().toString());
+                fbsMomOrderdetail.put("MoDId", String.valueOf(jsonObject.get("MOID")));//生产订单明细id(SAP生产订单号)
+                fbsMomOrderdetail.put("MoId", String.valueOf(jsonObject.get("MOID")));//生产订单id(SAP生产订单号)
+                String InvCode = String.valueOf(jsonObject.get("INVCODE"));//存货编码
                 //判断是否无物料
-                if(InvCode==null||InvCode.equals("")){//无物料则生成物料
-                    SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
-                    String InvCodeNew=df.format(new Date());
-                    fbsMomOrderdetail.put("InvCode",InvCodeNew);//存货编码
+                if (InvCode == null || InvCode.equals("")) {//无物料则生成物料
+                    SimpleDateFormat df = new SimpleDateFormat("yyMMdd");//设置日期格式
+                    String InvCodeNew = df.format(new Date())+((int)((Math.random()*9+1)*1000));//时间+四位随机数
+                    fbsMomOrderdetail.put("InvCode", InvCodeNew);//存货编码
                     //保存存货
-                    Map<String,Object> mapAdd=new HashMap<>();
-                    mapAdd.put("id",UUID.randomUUID().toString());
-                    mapAdd.put("cInvCode",InvCodeNew);
-                    mapAdd.put("cInvName",String.valueOf(jsonObject.get("INVNAME")));
-                    mapAdd.put("cInvDefine13",getDecimalNew(String.valueOf(jsonObject.get("STANDARDWORKINGHOURSZ"))));
-                    mapAdd.put("iSafeNum",0.0);
-                    mapAdd.put("cInvCCode","无物料");
-                    mapAdd.put("cInvCName","无物料");
+                    Map<String, Object> mapAdd = new HashMap<>();
+                    mapAdd.put("id", UUID.randomUUID().toString());
+                    mapAdd.put("cInvCode", InvCodeNew);
+                    mapAdd.put("cInvName", String.valueOf(jsonObject.get("INVNAME")));
+                    mapAdd.put("cInvDefine13", getDecimalNew(String.valueOf(jsonObject.get("STANDARDWORKINGHOURSZ"))));
+                    mapAdd.put("iSafeNum", 0.0);
+                    mapAdd.put("cInvCCode", "无物料");
+                    mapAdd.put("cInvCName", "无物料");
                     fbsInventoryMapper.addInventory(mapAdd);
-                }else{//有则不生成
-                    fbsMomOrderdetail.put("InvCode",InvCode);//存货编码
+                    InvCode = InvCodeNew+"";
                 }
-                fbsMomOrderdetail.put("CostItemName",String.valueOf(jsonObject.get("COSTITEMNAME")));//项目名称
-                fbsMomOrderdetail.put("Qty",String.valueOf(jsonObject.get("QTY")));//数量
-                fbsMomOrderdetail.put("SortSeq",Integer.parseInt(jsonObject.get("SORTSEQ").toString()));//行号
-                fbsMomOrderdetail.put("QualifiedInQty",jsonObject.get("QUALIFIEDINQTY"));//入库数量
-                String STATUS=String.valueOf(jsonObject.get("STATUS")).trim();//状态
-                fbsWorkshopDispatchListMapper.updateSAPstateByCode(String.valueOf(jsonObject.get("MOCODE")),STATUS);//修改派工单的SAP订单状态
-                if(StringUtils.isNotBlank(STATUS)){
-                    if(STATUS.equals("REL")){//审核
-                        fbsMomOrderdetail.put("Status",3);//特殊原因改为审核
-                    }else if(STATUS.equals("REL PCNF")){//审核
-                        fbsMomOrderdetail.put("Status",3);
-                    }else if(STATUS.equals("REL CNF")){//关闭
-                        fbsMomOrderdetail.put("Status",4);
-                    }else{//未识别
-                        fbsMomOrderdetail.put("Status",0);
+                fbsMomOrderdetail.put("InvCode", InvCode);//存货编码
+                fbsMomOrderdetail.put("CostItemName", String.valueOf(jsonObject.get("COSTITEMNAME")));//项目名称
+                fbsMomOrderdetail.put("cost_item_code", String.valueOf(jsonObject.get("CostItemCode")));//项目编码
+                fbsMomOrderdetail.put("Qty", String.valueOf(jsonObject.get("QTY")));//数量
+                fbsMomOrderdetail.put("SortSeq", Integer.parseInt(jsonObject.get("SORTSEQ").toString()));//行号
+                fbsMomOrderdetail.put("QualifiedInQty", jsonObject.get("QUALIFIEDINQTY"));//入库数量
+
+                fbsWorkshopDispatchListMapper.updateSAPstateByCode(String.valueOf(jsonObject.get("MOCODE")), STATUS);//修改派工单的SAP订单状态
+                if (StringUtils.isNotBlank(STATUS)) {
+                    if (STATUS.equals("REL")) {//审核
+                        fbsMomOrderdetail.put("Status", 3);//特殊原因改为审核
+                    } else if (STATUS.equals("REL PCNF")) {//审核
+                        fbsMomOrderdetail.put("Status", 3);
+                    } else if (STATUS.equals("REL CNF")) {//关闭
+                        fbsMomOrderdetail.put("Status", 4);
+                    } else if (STATUS.equals("REL 标记")) {//删除
+                        fbsMomOrderdetail.put("Status", 5);
+                    } else {//未识别
+                        fbsMomOrderdetail.put("Status", 0);
                     }
-                    fbsMomOrderdetail.put("SAPStatus",STATUS);//SAP状态
-                }else{
-                    fbsMomOrderdetail.put("Status",0);//状态
-                    fbsMomOrderdetail.put("SAPStatus","");//SAP状态
+                    fbsMomOrderdetail.put("SAPStatus", STATUS);//SAP状态
+                } else {
+                    fbsMomOrderdetail.put("Status", 0);//状态
+                    fbsMomOrderdetail.put("SAPStatus", "");//SAP状态
                 }
 //                fbsMomOrderdetail.put("CloseTime",String.valueOf(jsonObject.get("CLOSETIME")));//关闭时间
-                if(StringUtils.isNotBlank(String.valueOf(jsonObject.get("CLOSETIME")))){
-                    try{
-                        String CLOSETIME=String.valueOf(jsonObject.get("CLOSETIME"));
+                if (StringUtils.isNotBlank(String.valueOf(jsonObject.get("CLOSETIME")))) {
+                    try {
+                        String CLOSETIME = String.valueOf(jsonObject.get("CLOSETIME"));
                         SimpleDateFormat sdff = new SimpleDateFormat("yyyyMMddHHmmss");
-                        Date date=sdff.parse(CLOSETIME);
-                        fbsMomOrderdetail.put("CloseTime",date);//关闭时间
+                        Date date = sdff.parse(CLOSETIME);
+                        fbsMomOrderdetail.put("CloseTime", date);//关闭时间
                     } catch (ParseException e) {
                         e.printStackTrace();
                     }
-                }else {
-                    fbsMomOrderdetail.put("CloseTime",null);//关闭时间
+                } else {
+                    fbsMomOrderdetail.put("CloseTime", null);//关闭时间
                 }
-                fbsMomOrderdetail.put("RelsUser",String.valueOf(jsonObject.get("RELSUSER")));//审核人
-                fbsMomOrderdetail.put("pull_date",end+"");//拉取时间
+                fbsMomOrderdetail.put("RelsUser", String.valueOf(jsonObject.get("RELSUSER")));//审核人
+                fbsMomOrderdetail.put("pull_date", end + "");//拉取时间
 //                fbsMomOrderdetailMapper.insertMomOrderDetailSap(fbsMomOrderdetail);
                 fbsMomOrderdetailList.add(fbsMomOrderdetail);
                 //获取存货对应的标准工时存取到存货档案中
-                BigDecimal standardWorkingHoursZ=getDecimalNew(String.valueOf(jsonObject.get("STANDARDWORKINGHOURSZ")));
-                fbsInventoryMapper.updateCInvDefine13ByCInvCode(standardWorkingHoursZ,String.valueOf(jsonObject.get("INVCODE")));
+                BigDecimal standardWorkingHoursZ = getDecimalNew(String.valueOf(jsonObject.get("STANDARDWORKINGHOURSZ")));
+                fbsInventoryMapper.updateCInvDefine13ByCInvCode(standardWorkingHoursZ, String.valueOf(jsonObject.get("INVCODE")));
 
                 //生产订单资料
-                Map<String,Object> momMorder=new HashMap<>();
-                momMorder.put("id",UUID.randomUUID().toString());
-                momMorder.put("MoDId",String.valueOf(jsonObject.get("MOID")));//生产订单明细id
-                if(StringUtils.isNotBlank(String.valueOf(jsonObject.get("CREATETIME")))){
+                Map<String, Object> momMorder = new HashMap<>();
+                momMorder.put("id", UUID.randomUUID().toString());
+                momMorder.put("MoDId", String.valueOf(jsonObject.get("MOID")));//生产订单明细id
+                if (StringUtils.isNotBlank(String.valueOf(jsonObject.get("CREATETIME")))) {
                     try {
-                        String STARTDATE=String.valueOf(jsonObject.get("STARTDATE"));
-                        STARTDATE=STARTDATE+" 00:00:00";
-                        momMorder.put("StartDate",sdf.parse( STARTDATE ));//开工时间
+                        String STARTDATE = String.valueOf(jsonObject.get("STARTDATE"));
+                        STARTDATE = STARTDATE + " 00:00:00";
+                        momMorder.put("StartDate", sdf.parse(STARTDATE));//开工时间
                     } catch (ParseException e) {
                         e.printStackTrace();
                     }
-                }else {
-                    momMorder.put("StartDate",null);//开工时间
+                } else {
+                    momMorder.put("StartDate", null);//开工时间
                 }
-                if(StringUtils.isNotBlank(String.valueOf(jsonObject.get("DUEDATE")))){
+                if (StringUtils.isNotBlank(String.valueOf(jsonObject.get("DUEDATE")))) {
                     try {
-                        String DUEDATE=String.valueOf(jsonObject.get("DUEDATE"));
-                        DUEDATE=DUEDATE+" 00:00:00";
-                        momMorder.put("DueDate",sdf.parse( DUEDATE ));//完工时间
+                        String DUEDATE = String.valueOf(jsonObject.get("DUEDATE"));
+                        DUEDATE = DUEDATE + " 00:00:00";
+                        momMorder.put("DueDate", sdf.parse(DUEDATE));//完工时间
                     } catch (ParseException e) {
                         e.printStackTrace();
                     }
-                }else {
-                    momMorder.put("DueDate",null);//完工时间
+                } else {
+                    momMorder.put("DueDate", null);//完工时间
                 }
-                momMorder.put("pull_date",end+"");//拉取时间
+                momMorder.put("pull_date", end + "");//拉取时间
 //                fbsMomOrderdetailMapper.insertMomMorderSap(momMorder);
                 momMorderList.add(momMorder);
 //            try {
@@ -243,17 +256,17 @@ public class FbsMomOrderServiceImpl extends ServiceImpl<FbsMomOrderMapper, FbsMo
 
                 //生产订单子件信息
 //                List<Map<String,Object>> malList=new ArrayList<>();
-                JSONArray item1=jsonObject.getJSONArray("COMPS");
-                if(item1!=null&&item1.size()>0){
-                    for(int i=0;i<item1.size();i++){
-                        Map<String,Object> moal=new HashMap<>();
-                        moal.put("id",UUID.randomUUID().toString());
-                        moal.put("MoDId",String.valueOf(item1.getJSONObject(i).get("MOCODE")));//生产订单明细
+                JSONArray item1 = jsonObject.getJSONArray("COMPS");
+                if (item1 != null && item1.size() > 0) {
+                    for (int i = 0; i < item1.size(); i++) {
+                        Map<String, Object> moal = new HashMap<>();
+                        moal.put("id", UUID.randomUUID().toString());
+                        moal.put("MoDId", String.valueOf(item1.getJSONObject(i).get("MOCODE")));//生产订单明细
 
-                        moal.put("Qty",isNULLD(String.valueOf(item1.getJSONObject(i).get("QTY"))));//数量
-                        moal.put("IssQty",isNULLD(String.valueOf(item1.getJSONObject(i).get("ISSQTY"))));//已领量  
-                        moal.put("InvCode",String.valueOf(item1.getJSONObject(i).get("INVCODE")));//存货编码  
-                        moal.put("pull_date",end+"");//拉取时间
+                        moal.put("Qty", isNULLD(String.valueOf(item1.getJSONObject(i).get("QTY"))));//数量
+                        moal.put("IssQty", isNULLD(String.valueOf(item1.getJSONObject(i).get("ISSQTY"))));//已领量  
+                        moal.put("InvCode", String.valueOf(item1.getJSONObject(i).get("INVCODE")));//存货编码  
+                        moal.put("pull_date", end + "");//拉取时间
                         malList.add(moal);
                     }
 //                    fbsMomOrderdetailMapper.insertMomMoallocateBatchSap(malList);
@@ -261,32 +274,33 @@ public class FbsMomOrderServiceImpl extends ServiceImpl<FbsMomOrderMapper, FbsMo
                 }
 
                 //工艺
-                JSONArray PROCS=jsonObject.getJSONArray("PROCS");
-                if(PROCS!=null&&PROCS.size()>0){
+                JSONArray PROCS = jsonObject.getJSONArray("PROCS");
+                if (PROCS != null && PROCS.size() > 0) {
                     //获取物料编码
-                    String invcode= String.valueOf(jsonObject.get("INVCODE"));
+                    String invcode = InvCode+"";
                     //获取工艺主数据名称
-                    String nameMain=String.valueOf(jsonObject.getJSONArray("PROCS").getJSONObject(0).get("OPERATIONDESCRIBE"));
+                    String nameMain = String.valueOf(jsonObject.getJSONArray("PROCS").getJSONObject(0).get("OPERATIONDESCRIBE"));
                     //判断是否存在工艺
-                    QueryWrapper<FbsTechnologicalProcess> fbsTechnologicalProcessQueryWrapper=new QueryWrapper<>();
-                    fbsTechnologicalProcessQueryWrapper.lambda().eq(FbsTechnologicalProcess::getName,invcode);
-                    List<FbsTechnologicalProcess> fbsTechnologicalProcessList=iFbsTechnologicalProcessService.list(fbsTechnologicalProcessQueryWrapper);
+                    QueryWrapper<FbsTechnologicalProcess> fbsTechnologicalProcessQueryWrapper = new QueryWrapper<>();
+                    fbsTechnologicalProcessQueryWrapper.lambda().eq(FbsTechnologicalProcess::getName, invcode);
+                    List<FbsTechnologicalProcess> fbsTechnologicalProcessList = iFbsTechnologicalProcessService.list(fbsTechnologicalProcessQueryWrapper);
                     //不存在则添加新工艺
-                    if(fbsTechnologicalProcessList==null||fbsTechnologicalProcessList.size()<=0){
-                        FbsTechnologicalProcess fbsTechnologicalProcess=new FbsTechnologicalProcess();
+                    if (fbsTechnologicalProcessList == null || fbsTechnologicalProcessList.size() <= 0) {
+                        FbsTechnologicalProcess fbsTechnologicalProcess = new FbsTechnologicalProcess();
                         fbsTechnologicalProcess.setName(invcode);
                         fbsTechnologicalProcess.setMemo(nameMain);//备注中存工艺主名称
                         fbsTechnologicalProcess.setCreateBy("adminSAP");
-                        fbsTechnologicalProcess.setPullDate(end+"");
+                        fbsTechnologicalProcess.setPullDate(end + "");
                         iFbsTechnologicalProcessService.save(fbsTechnologicalProcess);//插入数据库
                         //获取工艺明细数据
-                        List<FbsTechnologicalProcessItem> fbsTechnologicalProcessItemList=new ArrayList<>();
-                        for(int i=0;i<PROCS.size();i++){
-                            FbsTechnologicalProcessItem fbsTechnologicalProcessItem=new FbsTechnologicalProcessItem();
+                        List<FbsTechnologicalProcessItem> fbsTechnologicalProcessItemList = new ArrayList<>();
+                        for (int i = 0; i < PROCS.size(); i++) {
+                            FbsTechnologicalProcessItem fbsTechnologicalProcessItem = new FbsTechnologicalProcessItem();
                             fbsTechnologicalProcessItem.setFbsTechnologicalProcessId(fbsTechnologicalProcess.getId());//主表id
                             fbsTechnologicalProcessItem.setMemo(String.valueOf(PROCS.getJSONObject(i).get("OPERATIONNUMBER")));//工艺编码
                             fbsTechnologicalProcessItem.setName(String.valueOf(PROCS.getJSONObject(i).get("DESCRIBE")));//工艺明细名称
                             fbsTechnologicalProcessItem.setCreateBy("adminSAP");
+                            fbsTechnologicalProcessItem.setStandardWorkingHours(getDecimalNew(String.valueOf(PROCS.getJSONObject(i).get("DESCRIBE"))));//标准工时
                             fbsTechnologicalProcessItem.setSort(i);//排序
                             fbsTechnologicalProcessItemList.add(fbsTechnologicalProcessItem);
                         }
@@ -294,6 +308,7 @@ public class FbsMomOrderServiceImpl extends ServiceImpl<FbsMomOrderMapper, FbsMo
                     }
                 }
             }
+            }
             //生产订单
             if(fbsMomOrderList.size()>0){
                 //再新增
@@ -315,7 +330,10 @@ public class FbsMomOrderServiceImpl extends ServiceImpl<FbsMomOrderMapper, FbsMo
             if(malList.size()>0){
                 fbsMomOrderdetailMapper.insertMomMoallocateBatchSap(malList);
             }
-
+            //修改删除的
+            if(moIDList!=null&&moIDList.size()>0) {
+                fbsMomOrderdetailMapper.updateOrderdetailStatus(moIDList);//修改删除的
+            }
         }
 
 

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

@@ -458,8 +458,8 @@ public class FbsWorkshopDispatchListController {
 	 public Result<List<FbsPerson>> getPerAndDerp(){
 	 	Result<List<FbsPerson>> result =new Result<>();
 		 try {
-			 List<FbsPerson> fbsPersonList=iFbsPersonService.getPerAndDerp();
-			 result.setResult(fbsPersonList);
+//			 List<FbsPerson> fbsPersonList=iFbsPersonService.getPerAndDerp();
+//			 result.setResult(fbsPersonList);
 			 result.success("操作成功");
 		 } catch (Exception e) {
 			 e.printStackTrace();

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

@@ -159,6 +159,9 @@ public class FbsWorkshopDispatchList implements Serializable {
 	//SAP订单状态
 	private String sapState;
 
+	//项目编码
+	private String costItemCode;
+
     //合并行
 	@TableField(exist = false)
     private Integer mergeLines;
@@ -300,4 +303,8 @@ public class FbsWorkshopDispatchList implements Serializable {
 	//缺料状态(正常、待料)
 	@TableField(exist = false)
 	private String lackOfMaterialState;
+
+	//工作中心
+	@TableField(exist = false)
+	private String workCenter;
 }

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

@@ -18,13 +18,15 @@
 
     <select id="getDispatchListByDate" resultType="org.jeecg.modules.fbsWorkshopDispatchList.entity.FbsWorkshopDispatchList">
         SELECT
-            *
+        fwdl.*,
+        ftp.memo as workCenter
         FROM
-            fbs_workshop_dispatch_list
+            fbs_workshop_dispatch_list fwdl
+        LEFT JOIN fbs_technological_process ftp on fwdl.fbs_technological_process_id=ftp.id
         WHERE
-            del_flag = '0'
-            and DATE_FORMAT( #{date},'%Y-%m-%d') <![CDATA[ >= ]]> DATE_FORMAT(planned_start_time,'%Y-%m-%d')
-            and DATE_FORMAT( #{date},'%Y-%m-%d') <![CDATA[ <= ]]> DATE_FORMAT(planned_end_time,'%Y-%m-%d')
+        fwdl.del_flag = '0'
+            and DATE_FORMAT( #{date},'%Y-%m-%d') <![CDATA[ >= ]]> DATE_FORMAT(fwdl.planned_start_time,'%Y-%m-%d')
+            and DATE_FORMAT( #{date},'%Y-%m-%d') <![CDATA[ <= ]]> DATE_FORMAT(fwdl.planned_end_time,'%Y-%m-%d')
             <!--AND date_format( date, '%Y-%m-%d' ) = DATE_FORMAT( #{date}, '%Y-%m-%d' )-->
         GROUP BY
             product

+ 2 - 0
src/main/java/org/jeecg/modules/pulldate/entity/PullDate.java

@@ -29,4 +29,6 @@ public class PullDate implements Serializable {
 	/**主键*/
 	@TableId(type = IdType.UUID)
 	private String id;
+
+	private String type;
 }

+ 1 - 1
src/main/java/org/jeecg/modules/pulldate/mapper/PullDateMapper.java

@@ -21,5 +21,5 @@ public interface PullDateMapper extends BaseMapper<PullDate> {
     * @Param []
     * @return java.lang.String
     */
-    Date getMaxEndTime();
+    Date getMaxEndTime(@Param("type")String type);
 }

+ 1 - 1
src/main/java/org/jeecg/modules/pulldate/mapper/xml/PullDateMapper.xml

@@ -2,6 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.pulldate.mapper.PullDateMapper">
     <select id="getMaxEndTime" resultType="java.util.Date">
-        select max(end_time) from pull_date
+        select max(end_time) from pull_date where TYPE =#{type}
     </select>
 </mapper>

+ 1 - 1
src/main/java/org/jeecg/modules/pulldate/service/IPullDateService.java

@@ -20,5 +20,5 @@ public interface IPullDateService extends IService<PullDate> {
      * @Param []
      * @return java.lang.String
      */
-    Date getMaxEndTime();
+    Date getMaxEndTime(String type);
 }

+ 2 - 2
src/main/java/org/jeecg/modules/pulldate/service/impl/PullDateServiceImpl.java

@@ -19,7 +19,7 @@ import java.util.Date;
 public class PullDateServiceImpl extends ServiceImpl<PullDateMapper, PullDate> implements IPullDateService {
 
     @Override
-    public Date getMaxEndTime() {
-        return this.baseMapper.getMaxEndTime();
+    public Date getMaxEndTime(String type) {
+        return this.baseMapper.getMaxEndTime(type);
     }
 }

+ 27 - 3
src/main/java/org/jeecg/modules/sapScheduledTask/SAPPull.java

@@ -16,7 +16,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 
 /**
- * 功能描述:定时获取SAP相关业务数据
+ * 功能描述:定时获取SAP生产订单
  *
  * @Author: chenchuang
  * @Date: 2022/1/20 21:05
@@ -29,12 +29,36 @@ public class SAPPull implements Job {
     IFbsInventoryService iFbsInventoryService;
     @Autowired
     IPullDateService iPullDateService;
+
+    public static boolean  jobIsRuning=false;
+
+    public static boolean  getJobIsRuningFlag(){
+        return jobIsRuning;
+    }
+
+    public static boolean setJobIsRuningFlag(){
+        jobIsRuning =true;
+        return jobIsRuning;
+    }
+
+    public static void removeJobIsRuningFlag(){
+        jobIsRuning =false;
+    }
     @Override
     public void execute(JobExecutionContext context) throws JobExecutionException {
         System.out.println("6666666666666666");
 //        String a="{ \"TIMELIMIT\": { \"ST\": 20220118000000, \"ET\": 20220118240000 }, \"COMMON_INFO_REQ\": { \"API_NO\": \"KANB00001\", \"GUID\": \"1234567890\", \"USERID\": \"USERNAME\" } } ";
-
-        iFbsInventoryService.implementSAPPull();
+        if(getJobIsRuningFlag()){
+            return;
+        }
+        setJobIsRuningFlag();
+        try {
+            iFbsInventoryService.implementSAPPull();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }finally {
+            removeJobIsRuningFlag();
+        }
         //生产订单
 //        iFbsMomOrderService.getPullSapMomOrderAll();
         //存货档案

+ 51 - 0
src/main/java/org/jeecg/modules/sapScheduledTask/SAPPullThree.java

@@ -0,0 +1,51 @@
+package org.jeecg.modules.sapScheduledTask;
+
+import org.jeecg.modules.fbsInventory.service.IFbsInventoryService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 功能描述:第三个定时 获取供应商与物料
+ *
+ * @Author: chenchuang
+ * @Date: 2022/4/1 21:06
+ */
+@Transactional
+public class SAPPullThree implements Job {
+
+    @Autowired
+    IFbsInventoryService iFbsInventoryService;
+
+    public static boolean  jobIsRuning=false;
+
+    public static boolean  getJobIsRuningFlag(){
+        return jobIsRuning;
+    }
+
+    public static boolean setJobIsRuningFlag(){
+        jobIsRuning =true;
+        return jobIsRuning;
+    }
+    public static void removeJobIsRuningFlag(){
+        jobIsRuning =false;
+    }
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        System.out.println("88888888888888");
+//        String a="{ \"TIMELIMIT\": { \"ST\": 20220118000000, \"ET\": 20220118240000 }, \"COMMON_INFO_REQ\": { \"API_NO\": \"KANB00001\", \"GUID\": \"1234567890\", \"USERID\": \"USERNAME\" } } ";
+        if(getJobIsRuningFlag()){
+            return;
+        }
+        setJobIsRuningFlag();
+        try {
+            iFbsInventoryService.implementSAPPullThree();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }finally {
+            removeJobIsRuningFlag();
+        }
+    }
+}

+ 52 - 0
src/main/java/org/jeecg/modules/sapScheduledTask/SAPPullTwo.java

@@ -0,0 +1,52 @@
+package org.jeecg.modules.sapScheduledTask;
+
+import org.jeecg.modules.fbsInventory.service.IFbsInventoryService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 功能描述: 第二个定时 获取看板相关接口例如:检验单、成品、产成品、采购、交货单、采购到货、领料
+ *
+ * @Author: chenchuang
+ * @Date: 2022/4/1 21:05
+ */
+@Transactional
+public class SAPPullTwo implements Job {
+
+    @Autowired
+    IFbsInventoryService iFbsInventoryService;
+
+    public static boolean  jobIsRuning=false;
+
+    public static boolean  getJobIsRuningFlag(){
+        return jobIsRuning;
+    }
+
+    public static boolean setJobIsRuningFlag(){
+        jobIsRuning =true;
+        return jobIsRuning;
+    }
+    public static void removeJobIsRuningFlag(){
+        jobIsRuning =false;
+    }
+
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        System.out.println("7777777777777");
+//        String a="{ \"TIMELIMIT\": { \"ST\": 20220118000000, \"ET\": 20220118240000 }, \"COMMON_INFO_REQ\": { \"API_NO\": \"KANB00001\", \"GUID\": \"1234567890\", \"USERID\": \"USERNAME\" } } ";
+        if(getJobIsRuningFlag()){
+            return;
+        }
+        setJobIsRuningFlag();
+        try {
+            iFbsInventoryService.implementSAPPullTwo();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }finally {
+            removeJobIsRuningFlag();
+        }
+    }
+}