|  |  | 
 |  |  | package com.zy.ints.task.scheduler; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.plugins.Page; | 
 |  |  | import com.zy.asrs.entity.LocDetl; | 
 |  |  | import com.zy.asrs.service.ApiLogService; | 
 |  |  | import com.zy.ints.entity.ErpDetTb; | 
 |  |  | import com.zy.asrs.service.LocDetlService; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | import com.zy.ints.entity.ErpLk; | 
 |  |  | import com.zy.ints.entity.ErpLkBak; | 
 |  |  | import com.zy.ints.erp.ErpSqlServer; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | 
 |  |  | import org.springframework.stereotype.Component; | 
 |  |  |  | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.HashMap; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |  */ | 
 |  |  | @Slf4j | 
 |  |  | @Component | 
 |  |  | public class ErpLkScheduler { | 
 |  |  | public class ErpLkScheduler extends BaseController { | 
 |  |  |     /** | 
 |  |  |      * ERP接口是否启用 | 
 |  |  |      */ | 
 |  |  | 
 |  |  |     private ApiLogService apiLogService; | 
 |  |  |     @Autowired | 
 |  |  |     private ErpSqlServer erpSqlServer; | 
 |  |  |     @Autowired | 
 |  |  |     private LocDetlService locDetlService; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * ERP与lk库存数据比对 | 
 |  |  |      */ | 
 |  |  | 
 |  |  |                 for (ErpLk erpLk:erpLks){ | 
 |  |  |                     Integer status = erpLk.getStatus(); | 
 |  |  |                     if (status == 0){ | 
 |  |  |  | 
 |  |  |                         HashMap<String, Object> param = new HashMap<>(); | 
 |  |  |                         param.put("curr", 1); | 
 |  |  |                         param.put("limit", 20); | 
 |  |  |                         param.put("matnr", erpLk.getPrdNo()); | 
 |  |  |                         param.put("batch", erpLk.getPrdMark()); | 
 |  |  |                         Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(1, 10, param, LocDetl.class)); | 
 |  |  |                         if (stockStatis.getSize() == 1) { | 
 |  |  |                             for (LocDetl locDetl : stockStatis.getRecords()) { | 
 |  |  |                                 if (locDetl.getAnfme() - erpLk.getQty() == 0) { | 
 |  |  |                                     erpSqlServer.update(sqlUpDateErpLkOne + "'" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'"); | 
 |  |  |                                     callApiLogSave(erpLk, "bas_erp_lk", "库存对比数量相同!!!总量为:" + erpLk.getQty(), true); | 
 |  |  |                                 } else { | 
 |  |  |                                     erpSqlServer.update(sqlUpDateErpLkTwo + "'" + erpLk.getPrdNo() + "' and prd_mark='" + erpLk.getPrdMark() + "'"); | 
 |  |  |                                     callApiLogSave(erpLk, "bas_erp_lk", "库存对比数量不同!!!立库总量为:" + locDetl.getAnfme() + "、ERP总量为:" + erpLk.getQty(), false); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                         } else { | 
 |  |  |                             callApiLogSave(erpLk, "bas_erp_lk", "立库库存异常!!!相同品号、货品特征的货物重复!!!", false); | 
 |  |  |                         } | 
 |  |  |                     }else if (status == 1){ | 
 |  |  |                         HashMap<String, Object> condition = new HashMap<>(); | 
 |  |  |                         condition.put("prd_no", "'" + erpLk.getPrdNo() + "'"); | 
 |  |  |                         condition.put("prd_mark", "'" + erpLk.getPrdMark() + "'"); | 
 |  |  |                         condition.put("qty", "'" + erpLk.getQty() + "'"); | 
 |  |  |                         condition.put("wh", "'" + erpLk.getWh() + "'"); | 
 |  |  |                         condition.put("status", "'" + erpLk.getStatus() + "'"); | 
 |  |  |                         condition.put("temp1", "'" + erpLk.getTemp1() + "'"); | 
 |  |  |                         condition.put("temp2", "'" + erpLk.getTemp2() + "'"); | 
 |  |  |                         condition.put("temp3", "'" + erpLk.getTemp3() + "'"); | 
 |  |  |                         erpSqlServer.insert(ErpLkBak.class, condition); | 
 |  |  |  | 
 |  |  |                     }else if (status == 2){ | 
 |  |  |                         callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份成功!!!总量为:" + erpLk.getQty(), true); | 
 |  |  |  | 
 |  |  |                         HashMap<String, String> condition2 = new HashMap<>(); | 
 |  |  |                         condition2.put("prd_no", "'" + erpLk.getPrdNo() + "'"); | 
 |  |  |                         condition2.put("prd_mark", "'" + erpLk.getPrdNo() + "'"); | 
 |  |  |                         erpSqlServer.delete(ErpLk.class, condition2); | 
 |  |  |  | 
 |  |  |                         callApiLogSave(erpLk, "bas_erp_lk", "库存对比记录备份后删除成功!!!总量为:" + erpLk.getQty(), true); | 
 |  |  |  | 
 |  |  |                     }else { | 
 |  |  |  | 
 |  |  |                         callApiLogSave(erpLk, "bas_erp_lk", "库存对比存在异常数据未处理!!!", false); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } |