liyg преди 2 години
родител
ревизия
5a58756e30

+ 44 - 24
src/main/java/com/steerinfo/dil/aspect/LogAspect.java

@@ -7,6 +7,7 @@ import com.steerinfo.dil.mapper.LogResultMapper;
 import com.steerinfo.dil.model.LogResult;
 import com.steerinfo.dil.util.DataChange;
 import com.steerinfo.framework.controller.RESTfulResult;
+import lombok.extern.java.Log;
 import org.apache.log4j.Logger;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.Signature;
@@ -21,10 +22,7 @@ import org.springframework.stereotype.Component;
 import java.lang.reflect.Method;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 日志 Aspect切面,编写切入点的方法
@@ -103,30 +101,52 @@ public class LogAspect {
             //获取执行时间
             long exeCost = System.currentTimeMillis() - beginTime.getTime();
             if(RESTfulResult.SUCCEED.equals(result.getStatus())){
-                //执行成功,记录日志
-                Map<String,Object> data =(Map<String,Object>) result.getData();
-                //记录正常日志
+                //执行成功,记录正常日志
                 log.info("方法返回:" + JSON.toJSONString(result));
                 log.info("执行时间(ms):"+exeCost);
                 log.info("执行===" + methodName + "===成功");
-                //记录到数据库
-                List<LogResult> logResults=new ArrayList<>();
-                for(int i=0 ; i<foreignKeys.length ; i++){
-                    LogResult logResult=new LogResult();
-                    logResult.setLogId(logResultMapper.nextId());
-                    logResult.setForeignKeyId(DataChange.dataToBigDecimal(data.get(foreignKeys[i])));
-                    logResult.setForeignKeyType(foreignKeyTypes[i]);
-                    logResult.setLogContent(map.get("userName")+":"+result.getMessage());
-                    logResult.setMethodName(""+signature);
-                    logResult.setMethodDescription(description);
-                    logResult.setInsertTime(beginTime);
-                    logResult.setExeCost(DataChange.dataToBigDecimal(exeCost));
-                    logResult.setFilePath(logPrefix+format.format(beginTime));
-                    logResult.setInsertUsername(""+map.get("userId"));
-                    logResult.setRemark("自动记录");
-                    logResults.add(logResult);
+                try{
+                    //data数组
+                    List<Map<String,Object>> datas = new ArrayList<>();
+                    //记录到数据库
+                    List<LogResult> logResults=new ArrayList<>();
+                    //检查返回data类型
+                    if(result.getData() instanceof Map){
+                        Map<String,Object> data =(Map) result.getData();
+                        datas.add(data);
+                    }else if(result.getData() instanceof List){
+                        datas =(List) result.getData();
+                    }else{
+                        throw new Exception("无法处理的数据类型!");
+                    }
+                    //批量处理
+                    for(Map<String,Object> data : datas){
+                        for(int i=0 ; i<foreignKeys.length ; i++){
+                            if(data.get(foreignKeys[i]) != null){
+                                LogResult logResult=new LogResult();
+                                logResult.setLogId(logResultMapper.nextId());
+                                logResult.setForeignKeyId(DataChange.dataToBigDecimal(data.get(foreignKeys[i])));
+                                logResult.setForeignKeyType(foreignKeyTypes[i]);
+                                logResult.setLogContent(map.get("userName")+":"+result.getMessage());
+                                logResult.setMethodName(""+signature);
+                                logResult.setMethodDescription(description);
+                                logResult.setInsertTime(beginTime);
+                                logResult.setExeCost(DataChange.dataToBigDecimal(exeCost));
+                                logResult.setFilePath(logPrefix+format.format(beginTime));
+                                logResult.setInsertUsername(""+map.get("userId"));
+                                logResult.setRemark("自动记录");
+                                logResults.add(logResult);
+                            }
+                        }
+                    }
+                    if(logResults.size() > 0){
+                        logResultMapper.batchInsert(logResults);
+                    }else{
+                        throw new Exception("目标foreignKey不存在!");
+                    }
+                }catch (Exception e){
+                    log.info("记录日志失败:"+e.getMessage());
                 }
-                logResultMapper.batchInsert(logResults);
             }else{
                 //记录失败日志
                 log.info("方法返回:" + JSON.toJSONString(result));

+ 59 - 0
src/main/java/com/steerinfo/dil/controller/WMSController.java

@@ -149,5 +149,64 @@ public class WMSController extends BaseRESTfulController {
     public Map<String, Object> logicdeleteAmsSaalryContrac(@RequestBody(required = false) Map<String, Object> map) {
         return wmsFeign.delete(map);
     }
+
+    @ApiOperation(value = "查询实时库存")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getGridMaterialList")
+    public Map<String, Object> getGridMaterialList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return wmsFeign.getGridMaterialList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "查询入库实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getInboundList")
+    public Map<String, Object> getInboundList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return wmsFeign.getInboundList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "入库")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"inboundResultId"}, foreignKeyTypes = {"入库实绩"})
+    @PostMapping("/inbound")
+    public Map<String, Object> inbound(@RequestBody(required = false) Map<String, Object> map){
+        return wmsFeign.inbound(map);
+    }
+
+    @ApiOperation(value = "查询出库实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getOutboundList")
+    public Map<String, Object> getOutboundList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize) {
+        return wmsFeign.getOutboundList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "出库")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"outboundResultId"}, foreignKeyTypes = {"出库实绩"})
+    @PostMapping("/outbound")
+    public Map<String, Object> outbound(@RequestBody(required = false) Map<String, Object> map){
+        return wmsFeign.outbound(map);
+    }
 }
 

+ 20 - 0
src/main/java/com/steerinfo/dil/feign/WMSFeign.java

@@ -70,4 +70,24 @@ public interface WMSFeign {
     Map<String, Object> update(@PathVariable BigDecimal id,@RequestBody(required = false) Map<String, Object> map);
 
 
+    @PostMapping("api/v1/wms/wmsgridmaterials/getGridMaterialList")
+    Map<String, Object> getGridMaterialList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                             @RequestParam Integer pageNum,
+                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsinboundresults/getInboundList")
+    Map<String, Object> getInboundList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                       @RequestParam Integer pageNum,
+                                       @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsinboundresults/inbound")
+    Map<String, Object> inbound(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wms/wmsoutboundresults/getOutboundList")
+    Map<String, Object> getOutboundList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                       @RequestParam Integer pageNum,
+                                       @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsoutboundresults/outbound")
+    Map<String, Object>outbound(@RequestBody(required = false) Map<String, Object> map);
 }

+ 2 - 0
src/main/java/com/steerinfo/dil/mapper/LogResultMapper.java

@@ -4,10 +4,12 @@ import com.steerinfo.dil.model.LogResult;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import java.math.*;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
 import org.apache.ibatis.annotations.Select;
 
 @Mapper
 public interface LogResultMapper extends IBaseMapper<LogResult, BigDecimal> {
     @Select("select SEQ_LOG_RESULT.nextval from dual")
+    @Options(flushCache = Options.FlushCachePolicy.TRUE)
     BigDecimal nextId();
 }