diff --git a/wms-vue/src/components/duochaxun/Jianhuojiemian.vue b/wms-vue/src/components/duochaxun/Jianhuojiemian.vue index fba6d49..8fafb14 100644 --- a/wms-vue/src/components/duochaxun/Jianhuojiemian.vue +++ b/wms-vue/src/components/duochaxun/Jianhuojiemian.vue @@ -689,7 +689,7 @@ export default { //拣货库区 z_name: [], //所在库位 - lc1_code: '', + lc2_code: '', //料号 i_code: '', //单据类型 @@ -703,7 +703,7 @@ export default { //容器码 LP: '', //拣货库位 - lc2_code: [], + lc1_code: [], //需求日期 ORDER_DATE: [], //分配日期 diff --git a/wms-vue/src/components/duochaxun/Kucunrizhi.vue b/wms-vue/src/components/duochaxun/Kucunrizhi.vue new file mode 100644 index 0000000..cce0d8f --- /dev/null +++ b/wms-vue/src/components/duochaxun/Kucunrizhi.vue @@ -0,0 +1,487 @@ + + + + + + diff --git a/wms-vue/src/router/router.js b/wms-vue/src/router/router.js index 74aa77c..8141881 100644 --- a/wms-vue/src/router/router.js +++ b/wms-vue/src/router/router.js @@ -22,7 +22,7 @@ const routes=[ meta:{ title:'首页' }, - component: () => import('../components/duochaxun/Jianhuojiemian') + component: () => import('../components/duochaxun/Kucunrizhi') }, { path:'/Zhengliqingdan', @@ -56,6 +56,14 @@ const routes=[ }, component: () => import('@/components/duochaxun/Jianhuojiemian.vue') }, + { + path:'/Kucunrizhi', + name:'Kucunrizhi', + meta:{ + title:'库存操作日志' + }, + component: () => import('@/components/duochaxun/Kucunrizhi.vue') + }, ] } diff --git a/wms/src/main/java/com/yc/wms/bean/Kucunrizhi.java b/wms/src/main/java/com/yc/wms/bean/Kucunrizhi.java new file mode 100644 index 0000000..bf9e1df --- /dev/null +++ b/wms/src/main/java/com/yc/wms/bean/Kucunrizhi.java @@ -0,0 +1,30 @@ +package com.yc.wms.bean; + +import java.util.Date; + +public class Kucunrizhi { + + //相关单号 + public String RELATED_BILL; + + //日志类型 + public String[] LOG_TYPE; + + //源库位 + public String loc1_code; + + //目标库位 + public String loc_code; + + //料号 + public String i_code; + + //LOC + public String[] PROP_C2; + + //操作员 + public String OPERATOR; + + //发生时间 + public Date[] OCCUR_TIME; +} diff --git a/wms/src/main/java/com/yc/wms/controller/JianhuojiemianController.java b/wms/src/main/java/com/yc/wms/controller/JianhuojiemianController.java index cf39d2c..8ef7fc9 100644 --- a/wms/src/main/java/com/yc/wms/controller/JianhuojiemianController.java +++ b/wms/src/main/java/com/yc/wms/controller/JianhuojiemianController.java @@ -27,6 +27,7 @@ public class JianhuojiemianController { @PostMapping("/queryJian") public Result queryUser(@RequestBody String json) { + QueryPageUtil query =new QueryPageUtil(); JSONObject jsonObject= JSONUtil.parseObj(json); query.setPageSize((int)jsonObject.get("pageSize")); @@ -36,6 +37,7 @@ public class JianhuojiemianController { com.yc.wms.bean.Jianhuojiemian j = JSONUtil.toBean(param.toString(), com.yc.wms.bean.Jianhuojiemian.class); + return jianhuojiemian.QueryJson(query,j); } @@ -63,7 +65,7 @@ public class JianhuojiemianController { JSONObject jsonObject= JSONUtil.parseObj(query); String w= (String) jsonObject.get("query"); - System.out.println(w); + return jianhuojiemian.Kw(w); } diff --git a/wms/src/main/java/com/yc/wms/controller/KucunrizhiController.java b/wms/src/main/java/com/yc/wms/controller/KucunrizhiController.java new file mode 100644 index 0000000..7859245 --- /dev/null +++ b/wms/src/main/java/com/yc/wms/controller/KucunrizhiController.java @@ -0,0 +1,41 @@ +package com.yc.wms.controller; + +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.yc.wms.service.Kucunrizhi; +import com.yc.wms.until.QueryPageUtil; +import com.yc.wms.until.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@Slf4j +@RequestMapping("/Kucunrizhi") +public class KucunrizhiController { + + @Autowired + private Kucunrizhi kucunrizhi; + + @PostMapping("/queryRi") + public Result queryUser(@RequestBody String json) { + QueryPageUtil query =new QueryPageUtil(); + JSONObject jsonObject= JSONUtil.parseObj(json); + query.setPageSize((int)jsonObject.get("pageSize")); + query.setPageNum((int)jsonObject.get("pageNum")); + + JSONObject param= (JSONObject)jsonObject.get("param"); + + com.yc.wms.bean.Kucunrizhi k = JSONUtil.toBean(param.toString(), com.yc.wms.bean.Kucunrizhi.class); + + return kucunrizhi.QueryJson(query,k); + } + + @PostMapping("/log") + public Result Log() { + return kucunrizhi.Log(); + } +} \ No newline at end of file diff --git a/wms/src/main/java/com/yc/wms/controller/UserController.java b/wms/src/main/java/com/yc/wms/controller/UserController.java index 982a741..0b42b39 100644 --- a/wms/src/main/java/com/yc/wms/controller/UserController.java +++ b/wms/src/main/java/com/yc/wms/controller/UserController.java @@ -48,7 +48,7 @@ public class UserController { // return result; JSONArray array=new JSONArray(); JSONObject data=new JSONObject(); - int menuCount=4; + int menuCount=5; for (int i=1;i<=menuCount;i++){ JSONObject menu=new JSONObject(); menu.put("id",i); @@ -69,6 +69,10 @@ public class UserController { menu.put("menuName", "拣货界面"); menu.put("menuComponent","/Jianhuojiemian"); menu.put("menuClick","Jianhuojiemian"); + }else if(i==5) { + menu.put("menuName", "库存操作日志"); + menu.put("menuComponent","/Kucunrizhi"); + menu.put("menuClick","Kucunrizhi"); } menu.put("menuLevel",i); menu.put("menuParentCode",i); diff --git a/wms/src/main/java/com/yc/wms/service/Kucunrizhi.java b/wms/src/main/java/com/yc/wms/service/Kucunrizhi.java new file mode 100644 index 0000000..f81f796 --- /dev/null +++ b/wms/src/main/java/com/yc/wms/service/Kucunrizhi.java @@ -0,0 +1,13 @@ +package com.yc.wms.service; + +import com.yc.wms.until.QueryPageUtil; +import com.yc.wms.until.Result; + +public interface Kucunrizhi { + + // 条件查询加分页 + Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Kucunrizhi kucunrizhi); + + //日志类型 + Result Log(); +} diff --git a/wms/src/main/java/com/yc/wms/service/impl/JianhuojiemianImpl.java b/wms/src/main/java/com/yc/wms/service/impl/JianhuojiemianImpl.java index 3d58427..b25082f 100644 --- a/wms/src/main/java/com/yc/wms/service/impl/JianhuojiemianImpl.java +++ b/wms/src/main/java/com/yc/wms/service/impl/JianhuojiemianImpl.java @@ -212,23 +212,23 @@ public class JianhuojiemianImpl implements Jianhuojiemian { if(jianhuojiemian.ORDER_DATE!=null&&jianhuojiemian.ORDER_DATE.length>0){ String startDate = simpleDateFormat.format(jianhuojiemian.ORDER_DATE[0]); String endDate = simpleDateFormat.format(jianhuojiemian.ORDER_DATE[1]); - sql+=" and pt.ORDER_DATE "+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; + sql+=" and pt.ORDER_DATE between "+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; } //分配日期 if(jianhuojiemian.CREATE_TIME!=null&&jianhuojiemian.CREATE_TIME.length>0){ String startDate = simpleDateFormat.format(jianhuojiemian.CREATE_TIME[0]); String endDate = simpleDateFormat.format(jianhuojiemian.CREATE_TIME[1]); - sql+=" and t.CREATE_TIME "+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; + sql+=" and t.CREATE_TIME between "+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; } //拣货日期 if(jianhuojiemian.OPERATE_TIME!=null&&jianhuojiemian.OPERATE_TIME.length>0){ String startDate = simpleDateFormat.format(jianhuojiemian.OPERATE_TIME[0]); String endDate = simpleDateFormat.format(jianhuojiemian.OPERATE_TIME[1]); - sql+=" and t.OPERATE_TIME "+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; + sql+=" and t.OPERATE_TIME between "+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; } - + //拣货状态 if(jianhuojiemian.Status!=null&&!jianhuojiemian.Status.equals("")){ if(jianhuojiemian.Status.equals("处理完成")){ @@ -261,10 +261,10 @@ public class JianhuojiemianImpl implements Jianhuojiemian { } - String sqlCount = "select count(t.id) as nums from(" + sql+") t"; String sqlFy = "select t.* from(" + sql+") t"; + sqlFy+= " WHERE Row_Num BETWEEN " + (pageNum-1) * pageSize + " AND " + (pageNum) * pageSize; //查询单数据 Map listCount = jdbcTemplate.queryForMap(sqlCount, new HashMap<>()); diff --git a/wms/src/main/java/com/yc/wms/service/impl/KucunrizhiImpl.java b/wms/src/main/java/com/yc/wms/service/impl/KucunrizhiImpl.java new file mode 100644 index 0000000..ef9140a --- /dev/null +++ b/wms/src/main/java/com/yc/wms/service/impl/KucunrizhiImpl.java @@ -0,0 +1,186 @@ +package com.yc.wms.service.impl; + +import com.yc.wms.service.Kucunrizhi; +import com.yc.wms.until.QueryPageUtil; +import com.yc.wms.until.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +@Slf4j +public class KucunrizhiImpl implements Kucunrizhi { + + @Autowired + private NamedParameterJdbcTemplate jdbcTemplate; + + @Override + public Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Kucunrizhi kucunrizhi) { + + int pageNum = query.getPageNum();//当前页 + int pageSize = query.getPageSize();//条数 + + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + String sql="select Row_number() OVER(ORDER BY log.id) as Row_Num,log.id,log.RELATED_BILL,\n" + + "log.LOG_TYPE ,bt.NAME bt_name,loc1.CODE loc1_code,loc.CODE loc_code,\n" + + "i.CODE i_code,i.NAME i_name,i.UNIT,\n" + + "log.OCCUR_QUANTITY*log.INC_DEC number,\n" + + "log.OPERATOR ,log.OCCUR_TIME ,log.DESCRIPTION ,\n" + + "ik.PROP_C1 ,ik.PROP_C2 ,ik.PROP_C3 ,ik.PROP_C5 ,ik.PROP_C8 ,\n" + + "ik.PROP_C9 ,log.endRegion ,log.LP \n" + + "FROM INVENTORY_LOG log\n" + + "left join BILL_TYPE bt on bt.ID=log.BILL_TYPE_ID\n" + + "left join LOCATION loc on loc.id=log.LOCATION_ID\n" + + "left join LOCATION loc1 on loc1.id=log.SRCLOC_ID\n" + + "left join ITEM_KEY ik on ik.id=log.ITEM_KEY_ID\n" + + "left join item i on i.id=ik.ITEM_ID\n" + + "where 1=1"; + + //相关单号 + if(kucunrizhi.RELATED_BILL!=null){ + if(!kucunrizhi.RELATED_BILL.trim().equals("")){ + String[] str=kucunrizhi.RELATED_BILL.trim().split("\n"); + StringBuffer sb = new StringBuffer(); + for (int i=0;i0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< kucunrizhi.LOG_TYPE.length; i++){ + if(kucunrizhi.LOG_TYPE.length-1==i){ + sb.append("'"+ kucunrizhi.LOG_TYPE[i]+"'"); + }else { + sb.append("'"+ kucunrizhi.LOG_TYPE[i]+"'"+","); + } + } + sql+=" and log.LOG_TYPE in ("+sb.toString()+")";; + } + + + //源库位 + if(kucunrizhi.loc1_code!=null){ + if(!kucunrizhi.loc1_code.trim().equals("")){ + String[] str=kucunrizhi.loc1_code.trim().split("\n"); + StringBuffer sb = new StringBuffer(); + for (int i=0;i0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< kucunrizhi.PROP_C2.length; i++){ + if(kucunrizhi.PROP_C2.length-1==i){ + sb.append("'"+ kucunrizhi.PROP_C2[i]+"'"); + }else { + sb.append("'"+ kucunrizhi.PROP_C2[i]+"'"+","); + } + } + sql+=" and ik.PROP_C2 in ("+sb.toString()+")";; + } + + + //操作员 + if(kucunrizhi.OPERATOR!=null){ + if(!kucunrizhi.OPERATOR.trim().equals("")){ + String[] str=kucunrizhi.OPERATOR.trim().split("\n"); + StringBuffer sb = new StringBuffer(); + for (int i=0;i0){ + String startDate = simpleDateFormat.format(kucunrizhi.OCCUR_TIME[0]); + String endDate = simpleDateFormat.format(kucunrizhi.OCCUR_TIME[1]); + sql+=" and log.OCCUR_TIME between"+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; + } + + + String sqlCount = "select count(t.id) as nums from(" + sql+") t"; + String sqlFy = "select t.* from(" + sql+") t"; + + sqlFy+= " WHERE Row_Num BETWEEN " + (pageNum-1) * pageSize + " AND " + (pageNum) * pageSize; + //查询单数据 + Map listCount = jdbcTemplate.queryForMap(sqlCount, new HashMap<>()); + //查询多条数据据 + List> maps = jdbcTemplate.queryForList(sqlFy, new HashMap<>()); + + return Result.success(Long.parseLong(listCount.get("nums").toString()),maps); + } + + @Override + public Result Log() { + String sql=" select distinct LOG_TYPE from INVENTORY_LOG"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } +}