From 1800cb614c17b70f3df0160336a416e61e3ede2d Mon Sep 17 00:00:00 2001 From: liyang <1260016348@qq.com> Date: Mon, 8 Apr 2024 17:44:37 +0800 Subject: [PATCH] no message --- .../components/duochaxun/Jianhuojiemian.vue | 949 +++++++++++++++++- .../src/components/duochaxun/Kucunhuizong.vue | 842 +++++++++++++++- .../src/components/duochaxun/Rukuzhengli.vue | 17 +- .../components/duochaxun/Zhengliqingdan.vue | 12 +- wms-vue/src/router/router.js | 22 +- .../java/com/yc/wms/bean/Jianhuojiemian.java | 60 +- .../java/com/yc/wms/bean/Kucunhuizong.java | 50 +- .../controller/JianhuojiemianController.java | 82 +- .../controller/KucunhuizongController.java | 52 +- .../com/yc/wms/controller/UserController.java | 10 +- .../com/yc/wms/service/Jianhuojiemian.java | 29 +- .../java/com/yc/wms/service/Kucunhuizong.java | 25 +- .../wms/service/impl/JianhuojiemianImpl.java | 318 +++++- .../yc/wms/service/impl/KucunhuizongImpl.java | 277 ++++- 14 files changed, 2710 insertions(+), 35 deletions(-) diff --git a/wms-vue/src/components/duochaxun/Jianhuojiemian.vue b/wms-vue/src/components/duochaxun/Jianhuojiemian.vue index dc1f789..fba6d49 100644 --- a/wms-vue/src/components/duochaxun/Jianhuojiemian.vue +++ b/wms-vue/src/components/duochaxun/Jianhuojiemian.vue @@ -1,11 +1,952 @@ - + diff --git a/wms-vue/src/components/duochaxun/Kucunhuizong.vue b/wms-vue/src/components/duochaxun/Kucunhuizong.vue index dc1f789..ac77878 100644 --- a/wms-vue/src/components/duochaxun/Kucunhuizong.vue +++ b/wms-vue/src/components/duochaxun/Kucunhuizong.vue @@ -1,11 +1,845 @@ - + diff --git a/wms-vue/src/components/duochaxun/Rukuzhengli.vue b/wms-vue/src/components/duochaxun/Rukuzhengli.vue index 7a5df6c..183117c 100644 --- a/wms-vue/src/components/duochaxun/Rukuzhengli.vue +++ b/wms-vue/src/components/duochaxun/Rukuzhengli.vue @@ -121,7 +121,7 @@ { - this.MaxHeight = window.innerHeight - 240 +"px"; - }) }, methods: { handleEdit(index, row) { @@ -527,7 +527,7 @@ export default { }, queryUser() { - this.tableloding=true; + //列表数据加载 this.$axios.post(this.$httpUrl + '/Rukuzhengli/queryUser', { pageSize: this.pageSize, @@ -538,7 +538,6 @@ export default { if (res.code == 200) { this.tableData = res.data this.total = res.total - console.log(this.tableData) } else { this.$message.error('获取数据失败'); } diff --git a/wms-vue/src/components/duochaxun/Zhengliqingdan.vue b/wms-vue/src/components/duochaxun/Zhengliqingdan.vue index a4b085b..cc4210b 100644 --- a/wms-vue/src/components/duochaxun/Zhengliqingdan.vue +++ b/wms-vue/src/components/duochaxun/Zhengliqingdan.vue @@ -226,7 +226,7 @@ { - this.MaxHeight = window.innerHeight - 240 +"px"; - }) - }, methods: { handleEdit(index, row) { diff --git a/wms-vue/src/router/router.js b/wms-vue/src/router/router.js index 262ca4f..74aa77c 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/Zhengliqingdan') + component: () => import('../components/duochaxun/Jianhuojiemian') }, { path:'/Zhengliqingdan', @@ -36,10 +36,26 @@ const routes=[ path:'/Rukuzhengli', name:'Rukuzhengli', meta:{ - title:'整理完成未上架清单' + title:'入库整理' }, component: () => import('@/components/duochaxun/Rukuzhengli.vue') - } + }, + { + path:'/Kucunhuizong', + name:'Kucunhuizong', + meta:{ + title:'库存汇总界面' + }, + component: () => import('@/components/duochaxun/Kucunhuizong.vue') + }, + { + path:'/Jianhuojiemian', + name:'Jianhuojiemian', + meta:{ + title:'拣货界面' + }, + component: () => import('@/components/duochaxun/Jianhuojiemian.vue') + }, ] } diff --git a/wms/src/main/java/com/yc/wms/bean/Jianhuojiemian.java b/wms/src/main/java/com/yc/wms/bean/Jianhuojiemian.java index b2788cc..2396fb1 100644 --- a/wms/src/main/java/com/yc/wms/bean/Jianhuojiemian.java +++ b/wms/src/main/java/com/yc/wms/bean/Jianhuojiemian.java @@ -1,2 +1,60 @@ -package com.yc.wms.bean;public class Jianhuojiemian { +package com.yc.wms.bean; + +import java.util.Date; + +public class Jianhuojiemian { + + //子任务号 + public String BILLCODE; + + //工单号 + public String pt_code; + + //SAP类型 + public String sourceType; + + //拣货库区 + public String[] z_name; + + //所在库位 + public String lc2_code; + + //料号 + public String i_code; + + //单据类型 + public String[] bt_name; + + //工作站 + public String[] END_REGION; + + //拣货人 + public String[] w4_name; + + //波次号 + public String wd_code; + + //容器码 + public String LP; + + //拣货库位 + public String[] lc1_code; + + //需求日期 + public Date[] ORDER_DATE; + + //分配日期 + public Date[] CREATE_TIME; + + //拣货日期 + public Date[] OPERATE_TIME; + + //加急标记 + public String equated_Quantity; + + //下发人 + public String[] strBill1; + + //拣货状态 + public String Status; } diff --git a/wms/src/main/java/com/yc/wms/bean/Kucunhuizong.java b/wms/src/main/java/com/yc/wms/bean/Kucunhuizong.java index 0657761..56bfae4 100644 --- a/wms/src/main/java/com/yc/wms/bean/Kucunhuizong.java +++ b/wms/src/main/java/com/yc/wms/bean/Kucunhuizong.java @@ -1,2 +1,50 @@ -package com.yc.wms.bean;public class Kucunhuizong { +package com.yc.wms.bean; + +import io.swagger.models.auth.In; +import lombok.Getter; + +import java.util.Date; + +public class Kucunhuizong { + //库位号 + public String locCode; + + //料号 + public String itemCode; + + //物料描述 + public String itemName; + + //批次号 + public String propC1; + + //库存状态 + public String[] status; + + //库区 + public String[] kqName; + + //Loc + public String[] propC2; + + //特殊标记 + public String propC3; + + //存货日期 + public Date[] storageDate; + + //供应商号 + public String propC5; + + //盘点是否锁定 + public String coun_Plan; + + //是否批次号管理 + public String SINGLE_ITEM; + + //是否有效期管理 + public String validity; + + //退料状态 + public String statuss; } 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 7b59355..cf39d2c 100644 --- a/wms/src/main/java/com/yc/wms/controller/JianhuojiemianController.java +++ b/wms/src/main/java/com/yc/wms/controller/JianhuojiemianController.java @@ -1,2 +1,82 @@ -package com.yc.wms.controller;public class JianhuojiemianController { +package com.yc.wms.controller; + +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.yc.wms.service.Jianhuojiemian; +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; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@RestController +@Slf4j +@RequestMapping("/Jianhuojiemian") +public class JianhuojiemianController { + + @Autowired + private Jianhuojiemian jianhuojiemian; + + @PostMapping("/queryJian") + 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.Jianhuojiemian j = JSONUtil.toBean(param.toString(), com.yc.wms.bean.Jianhuojiemian.class); + + return jianhuojiemian.QueryJson(query,j); + } + + //单据类型 + @PostMapping("/dj") + public Result Dj() { + return jianhuojiemian.Dj(); + } + + //工作站 + @PostMapping("/gz") + public Result Gz() { + return jianhuojiemian.Gz(); + } + + //拣货人 + @PostMapping("/jhr") + public Result Jhr() { + return jianhuojiemian.Jhr(); + } + + //库位 + @PostMapping("/kw") + public Result Kw(@RequestBody String query) { + + JSONObject jsonObject= JSONUtil.parseObj(query); + String w= (String) jsonObject.get("query"); + System.out.println(w); + + return jianhuojiemian.Kw(w); + } + + //加急标记 + @PostMapping("/bj") + public Result Bj() { + return jianhuojiemian.Bj(); + } + + //下发人 + @PostMapping("xf") + public Result Xf() { + return jianhuojiemian.Xf(); + } } diff --git a/wms/src/main/java/com/yc/wms/controller/KucunhuizongController.java b/wms/src/main/java/com/yc/wms/controller/KucunhuizongController.java index fc2870a..8b316a1 100644 --- a/wms/src/main/java/com/yc/wms/controller/KucunhuizongController.java +++ b/wms/src/main/java/com/yc/wms/controller/KucunhuizongController.java @@ -1,2 +1,52 @@ -package com.yc.wms.controller;public class KucunhuizongController { +package com.yc.wms.controller; + +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; +import com.yc.wms.bean.Kucunhuizong; +import com.yc.wms.bean.Zhengliqingdan; +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; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@RestController +@Slf4j +@RequestMapping("/Kucunhuizong") +public class KucunhuizongController { + @Autowired + private com.yc.wms.service.Kucunhuizong kucunhuizong; + + @PostMapping("/queryAll") + 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"); + + Kucunhuizong k = JSONUtil.toBean(param.toString(), Kucunhuizong.class); + + return kucunhuizong.QueryJson(query,k); + } + + + @PostMapping("/zt") + public Result zt() { + return kucunhuizong.zt(); + } + + @PostMapping("/ku") + public Result ku() { + return kucunhuizong.ku(); + } } 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 2dc6194..982a741 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=2; + int menuCount=4; for (int i=1;i<=menuCount;i++){ JSONObject menu=new JSONObject(); menu.put("id",i); @@ -61,6 +61,14 @@ public class UserController { menu.put("menuName", "入库整理"); menu.put("menuComponent","/Rukuzhengli"); menu.put("menuClick","Rukuzhengli"); + }else if(i==3) { + menu.put("menuName", "库存汇总界面"); + menu.put("menuComponent","/Kucunhuizong"); + menu.put("menuClick","Kucunhuizong"); + }else if(i==4) { + menu.put("menuName", "拣货界面"); + menu.put("menuComponent","/Jianhuojiemian"); + menu.put("menuClick","Jianhuojiemian"); } menu.put("menuLevel",i); menu.put("menuParentCode",i); diff --git a/wms/src/main/java/com/yc/wms/service/Jianhuojiemian.java b/wms/src/main/java/com/yc/wms/service/Jianhuojiemian.java index 69ff140..dc3db4a 100644 --- a/wms/src/main/java/com/yc/wms/service/Jianhuojiemian.java +++ b/wms/src/main/java/com/yc/wms/service/Jianhuojiemian.java @@ -1,2 +1,29 @@ -package com.yc.wms.service;public interface Jianhuojiemian { +package com.yc.wms.service; + +import com.yc.wms.until.QueryPageUtil; +import com.yc.wms.until.Result; + +public interface Jianhuojiemian { + + // 条件查询加分页 + Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Jianhuojiemian jianhuojiemian); + + //单据类型 + Result Dj(); + + //工作站 + Result Gz(); + + //拣货人 + Result Jhr(); + + //库位 + Result Kw(String w); + + //加急标记 + Result Bj(); + + //下发人 + Result Xf(); + } diff --git a/wms/src/main/java/com/yc/wms/service/Kucunhuizong.java b/wms/src/main/java/com/yc/wms/service/Kucunhuizong.java index ceff93d..4064b57 100644 --- a/wms/src/main/java/com/yc/wms/service/Kucunhuizong.java +++ b/wms/src/main/java/com/yc/wms/service/Kucunhuizong.java @@ -1,2 +1,25 @@ -package com.yc.wms.service;public interface Kucunhuizong { +package com.yc.wms.service; + + +import com.yc.wms.until.QueryPageUtil; +import com.yc.wms.until.Result; + +/** + *

+ * 入库汇总: + *

+ * + * @author wms + * @since 2023-04-01 + */ +public interface Kucunhuizong { + + // 条件查询加分页 + Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Kucunhuizong kucunhuizong); + + //状态下拉 + Result zt(); + + //库区下拉 + Result ku(); } 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 ff05117..3d58427 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 @@ -1,2 +1,318 @@ -package com.yc.wms.service.impl;public class JianhuojiemianImpl { +package com.yc.wms.service.impl; + +import com.yc.wms.service.Jianhuojiemian; +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; + +@Slf4j +@Service +public class JianhuojiemianImpl implements Jianhuojiemian { + + @Autowired + private NamedParameterJdbcTemplate jdbcTemplate; + + @Override + public Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Jianhuojiemian jianhuojiemian) { + + 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 t.id) as Row_Num, \n" + + "t.id, pt.CODE pt_code,pt.ORDER_DATE, t.END_REGION,s.name s_name,z.NAME z_name,\n" + + "pt.sourceType,bt.NAME bt_name,t.BILLCODE,i.NAME i_name,i.CODE i_code,i.UNIT,i.SHIP_RULES,\n" + + "lc1.CODE lc1_code,st.LP ,lc2.CODE lc2_code,t.strBill4 ,t.yc_qty ,t.PLAN_QUANTITY_MU ,\n" + + "t.MOVED_QUANTITY_MU , \n" + + "case WHEN t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU <=0 then '处理完成' WHEN t.MOVED_QUANTITY_MU =0 then '未处理' else '处理中' end as Status ,\n" + + "ik.PROP_C1 ,ik.PROP_C2 ,ik.PROP_C3 ,ik.PROP_C5 ,ik.PROP_C6 ,ik.PROP_C7 ,ik.PROP_C8 ,ik.PROP_C9 ,\n" + + "pt.equated_Quantity ,t.BAR_CODE ,t.INVENTORY_STATUS ,pd.LINE_NUMBER ,\n" + + "t.strBill1 ,w1.NAME w1_name,w4.NAME w4_name,t.OPERATE_TIME,t.CREATE_TIME ,t.CREATE_TIME t_date,wd.CODE wd_code,t.statusCode ,\n" + + "t.agv_Status ,t.popular ,t.CODE t_code\n" + + " from TASK t\n" + + " left join PICK_TICKET_DETAIL pd on pd.id=t.PICK_TICKET_DETAIL_ID\n" + + " left join PICK_TICKET pt on pt.id=pd.PICK_TICKET_ID\n" + + " left join Seed_Wall s on s.id=t.Seed_Wall_ID\n" + + " left join BILL_TYPE bt on bt.id=pt.BILL_TYPE_ID\n" + + " left join ITEM_KEY ik on ik.id=t.ITEM_KEY_ID\n" + + " left join ITEM i on i.id=ik.ITEM_ID\n" + + " left join LOCATION lc1 on lc1.id=t.SRC_LOC_ID\n" + + " left join [ZONE] z on z.id=lc1.ZONE_ID\n" + + " left join LOCATION lc2 on lc2.id=t.DST_LOC_ID\n" + + " left join WAVE_DOC wd on wd.id=t.WAVE_DOC_ID\n" + + " left join WORKER w1 on w1.id=t.WORKER1_ID\n" + + " left join WORKER w4 on w4.id=t.WORKER4_ID\n" + + " left join stock st on st.id=t.DST_LP\n" + + "where 1=1"; + + //子任务号 + if(jianhuojiemian.BILLCODE!=null){ + if(!jianhuojiemian.BILLCODE.trim().equals("")){ + String[] str=jianhuojiemian.BILLCODE.trim().split("\n"); + StringBuffer sb = new StringBuffer(); + for (int i=0;i0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< jianhuojiemian.z_name.length; i++){ + if(jianhuojiemian.z_name.length-1==i){ + sb.append("'"+ jianhuojiemian.z_name[i]+"'"); + }else { + sb.append("'"+ jianhuojiemian.z_name[i]+"'"+","); + } + } + sql+=" and z.NAME in ("+sb.toString()+")";; + } + + //所在库位 + if(jianhuojiemian.lc2_code!=null){ + if(!jianhuojiemian.lc2_code.trim().equals("")){ + String[] str=jianhuojiemian.lc2_code.trim().split("\n"); + StringBuffer sb = new StringBuffer(); + for (int i=0;i0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< jianhuojiemian.bt_name.length; i++){ + if(jianhuojiemian.bt_name.length-1==i){ + sb.append("'"+ jianhuojiemian.bt_name[i]+"'"); + }else { + sb.append("'"+ jianhuojiemian.bt_name[i]+"'"+","); + } + } + sql+=" and bt.NAME in ("+sb.toString()+")";; + } + + //工作站 + if(jianhuojiemian.END_REGION!=null&& jianhuojiemian.END_REGION.length>0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< jianhuojiemian.END_REGION.length; i++){ + if(jianhuojiemian.END_REGION.length-1==i){ + sb.append("'"+ jianhuojiemian.END_REGION[i]+"'"); + }else { + sb.append("'"+ jianhuojiemian.END_REGION[i]+"'"+","); + } + } + sql+=" and t.END_REGION in ("+sb.toString()+")";; + } + + //拣货人 + if(jianhuojiemian.w4_name!=null&& jianhuojiemian.w4_name.length>0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< jianhuojiemian.w4_name.length; i++){ + if(jianhuojiemian.w4_name.length-1==i){ + sb.append("'"+ jianhuojiemian.w4_name[i]+"'"); + }else { + sb.append("'"+ jianhuojiemian.w4_name[i]+"'"+","); + } + } + sql+=" and w4.NAME in ("+sb.toString()+")";; + } + + //波次号 + if(jianhuojiemian.wd_code!=null){ + if(!jianhuojiemian.wd_code.trim().equals("")){ + sql+=" and wd.CODE="+"'"+jianhuojiemian.wd_code.trim()+"'"; + } + } + + //容器码 + if(jianhuojiemian.LP!=null){ + if(!jianhuojiemian.LP.trim().equals("")){ + sql+=" and wd.CODE="+"'"+jianhuojiemian.LP.trim()+"'"; + } + } + + //拣货库位 + if(jianhuojiemian.lc1_code!=null&& jianhuojiemian.lc1_code.length>0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< jianhuojiemian.lc1_code.length; i++){ + if(jianhuojiemian.lc1_code.length-1==i){ + sb.append("'"+ jianhuojiemian.lc1_code[i]+"'"); + }else { + sb.append("'"+ jianhuojiemian.lc1_code[i]+"'"+","); + } + } + sql+=" and lc1.CODE in ("+sb.toString()+")";; + } + + //需求日期 + 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+"'"; + } + + //分配日期 + 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+"'"; + } + + //拣货日期 + 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+"'"; + } + + //拣货状态 + if(jianhuojiemian.Status!=null&&!jianhuojiemian.Status.equals("")){ + if(jianhuojiemian.Status.equals("处理完成")){ + sql+=" and t.PLAN_QUANTITY_MU-t.MOVED_QUANTITY_MU <=0"; + }else if(jianhuojiemian.Status.equals("未处理")){ + sql+=" and t.MOVED_QUANTITY_MU =0"; + }else { + sql+=" and t.MOVED_QUANTITY_MU >0 and t.MOVED_QUANTITY_MU0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< jianhuojiemian.strBill1.length; i++){ + if(jianhuojiemian.strBill1.length-1==i){ + sb.append("'"+ jianhuojiemian.strBill1[i]+"'"); + }else { + sb.append("'"+ jianhuojiemian.strBill1[i]+"'"+","); + } + } + sql+=" and t.strBill1 in ("+sb.toString()+")";; + } + + + + 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 Dj() { + String sql="select distinct name from BILL_TYPE"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } + + @Override + public Result Gz() { + String sql="select distinct END_REGION from TASK where END_REGION is not null"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } + + @Override + public Result Jhr() { + String sql="select distinct name from WORKER"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } + + @Override + public Result Kw(String w) { + String sql="select distinct CODE from LOCATION where CODE like "+"'%"+w+"%'"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } + + @Override + public Result Bj() { + String sql="select distinct equated_Quantity from PICK_TICKET where equated_Quantity !='' and equated_Quantity is not null"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } + + @Override + public Result Xf() { + String sql=" select distinct strBill1 from TASK where strBill1 is not null"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } } diff --git a/wms/src/main/java/com/yc/wms/service/impl/KucunhuizongImpl.java b/wms/src/main/java/com/yc/wms/service/impl/KucunhuizongImpl.java index 1312432..a282a59 100644 --- a/wms/src/main/java/com/yc/wms/service/impl/KucunhuizongImpl.java +++ b/wms/src/main/java/com/yc/wms/service/impl/KucunhuizongImpl.java @@ -1,2 +1,277 @@ -package com.yc.wms.service.impl;public class KucunhuizongImpl { +package com.yc.wms.service.impl; + +import com.yc.wms.service.Kucunhuizong; +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 KucunhuizongImpl implements Kucunhuizong { + + @Autowired + private NamedParameterJdbcTemplate jdbcTemplate; + + @Override + public Result QueryJson(QueryPageUtil query, com.yc.wms.bean.Kucunhuizong kucunhuizong) { + + 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 inv.id) as Row_Num,\n" + + "max(inv.id) as id,\n" + + "max(loc.code) as locCode,--库位号\n" + + "max(item.code) as itemCode,--料号\n" + + "max(item.name) as itemName,--描述\n" + + "max(inv.BAR_CODE) as barCode,--序列号\n" + + "max(inv.STATUS) as status,--状态\n" + + "max(inv.LOCATION_ID) as LOCATION_ID,--库位ID\n" + + "max(inv.ITEM_KEY_ID) as ITEM_KEY_ID,--料号属性ID\n" + + "sum(inv.QUANTITY) as quantity,\t--库存数量\n" + + "sum(inv.QUEUED_QUANTITY) as queuedQuantity,--占用数量\n" + + "max(ik.PROP_C1) as propC1,--批次号\n" + + "max(ik.PROP_C2) as propC2,--LOC\n" + + "max(ik.PROP_C3) as propC3,--特殊标记\n" + + "max(ik.PROP_C4) as propC4,--部门\n" + + "max(ik.PROP_C5) as propC5,--供应商编号\n" + + "max(ik.PROP_C6) as propC6,--申请人编号\n" + + "max(ik.PROP_C7) as propC7,--申请人\n" + + "max(ik.PROP_C8) as propC8,--暂存原因\n" + + "max(ik.PROP_C9) as propC9,--工厂\n" + + "max(inv.SOI) as soi,--入库单号\n" + + "max(ik.PROP_D1) as propD1,--生产日期\n" + + "max(ik.PROP_D2) as propD2,--到日期\n" + + "max(z.name) as kqName,--库区\n" + + "max(z.ID) as ZONE_ID,--库区ID\n" + + "\n" + + "case \n" + + "\twhen max(inv.coun_Plan) is null then 0\n" + + "\telse 1\n" + + "end as lock,--是否盘点\n" + + "case \n" + + "\twhen max(z.NAME) in('7#堆垛区','3#货架区','3#料箱区') \n" + + "then max(ls1.name) else max(ls.name) end as LSname,--AGV库位\n" + + "max(item.Be_SAP_Item) Be_SAP_Item, --是否SAP料号\n" + + "max(item.VOLUME) VOLUME,--体积\n" + + "max(item.BE_WEIGHT) BE_WEIGHT,--是否危化品\n" + + "max(item.SHIP_RULES) SHIP_RULES,--库存价值等级\n" + + "max(item.FEE_TYPE) FEE_TYPE,--OA料号\n" + + "max(item.SINGLE_ITEM) SINGLE_ITEM,--是否批号管理\n" + + "max(item.BE_MARK_WEIGHT) BE_MARK_WEIGHT,--是否序列号\n" + + "max(item.UNIT) UNIT,--单位\n" + + "max(item.STR_EXTEND1) STR_EXTEND1,--备注\n" + + "max(item.STR_EXTEND2) STR_EXTEND2,--币种\n" + + "max(item.STR_EXTEND3) STR_EXTEND3,--标准价\n" + + "max(item.STR_EXTEND4) STR_EXTEND4,--库存单位\n" + + "ISNULL(stock1.agvFlag, 0) agvFlag,--是否在GAV仓\n" + + "loc.id locId ,--库位id\n" + + "max(lts.NAME) as lts_name,--库位类型\n" + + "item.ISBOM validity,--是否有效期管理\n" + + "CONVERT(varchar(100), min(inv.STORAGE_DATE), 20) as storageDate,--库存日期\n" + + " max(inv.moveStatus) moveStatus,--工作站\n" + + "inv.statuss inv_status,--退料标记\n" + + "MAX(stock1.WEIGHT) as WEIGHT --重量\n" + + "\n" + + "from INVENTORY inv\n" + + "left join ZONE kq on kq.id=inv.warehouse_Area_ID \n" + + "left join LOCATION loc on loc.id=inv.LOCATION_ID\n" + + "left join LOCATIONS lts on lts.id=loc.LOCATIONS_ID\n" + + "left join STOCK stock1 on stock1.id=loc.stock\n" + + "left join LOCATION_STORAGE ls1 on ls1.ID=stock1.locationStorage_ID\n" + + "left join ZONE z on z.ID =loc.ZONE_ID\n" + + "left join ITEM_KEY ik on ik.id=inv.ITEM_KEY_ID\n" + + "left join ITEM item on item.id=ik.ITEM_ID\n" + + "left join STOCK stock on stock.ID=inv.LP\n" + + "left join LOCATION_STORAGE ls on ls.ID=stock.locationStorage_ID\n" + + "where 1=1 and inv.QUANTITY>0"; + + //库位号 + if(kucunhuizong.locCode!=null){ + if(!kucunhuizong.locCode.trim().equals("")){ + String[] str=kucunhuizong.locCode.trim().split("\n"); + StringBuffer sb = new StringBuffer(); + for (int i=0;i0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< kucunhuizong.propC2.length; i++){ + if(kucunhuizong.propC2.length-1==i){ + sb.append("'"+ kucunhuizong.propC2[i]+"'"); + }else { + sb.append("'"+ kucunhuizong.propC2[i]+"'"+","); + } + } + sql+=" and ik.PROP_C2 in ("+sb.toString()+")";; + } + + //库存状态 + if(kucunhuizong.status!=null&& kucunhuizong.status.length>0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< kucunhuizong.status.length; i++){ + if(kucunhuizong.status.length-1==i){ + sb.append("'"+ kucunhuizong.status[i]+"'"); + }else { + sb.append("'"+ kucunhuizong.status[i]+"'"+","); + } + } + sql+=" and inv.STATUS in ("+sb.toString()+")";; + } + + //库区 + if(kucunhuizong.kqName!=null&& kucunhuizong.kqName.length>0){ + StringBuffer sb = new StringBuffer(); + for (int i = 0; i< kucunhuizong.kqName.length; i++){ + if(kucunhuizong.kqName.length-1==i){ + sb.append("'"+ kucunhuizong.kqName[i]+"'"); + }else { + sb.append("'"+ kucunhuizong.kqName[i]+"'"+","); + } + } + sql+=" and z.name in ("+sb.toString()+")";; + } + + //批次号 + if(kucunhuizong.propC1!=null){ + if(!kucunhuizong.propC1.trim().equals("")){ + String[] str=kucunhuizong.propC1.trim().split("\n"); + StringBuffer sb = new StringBuffer(); + for (int i=0;i0){ + String startDate = simpleDateFormat.format(kucunhuizong.storageDate[0]); + String endDate = simpleDateFormat.format(kucunhuizong.storageDate[1]); + sql+=" and inv.STORAGE_DATE between "+"'"+startDate+"'"+" and "+ "'"+endDate+"'"; + } + + //供应商号 + if(kucunhuizong.propC5!=null){ + if(!kucunhuizong.propC5.trim().equals("")){ + + sql+=" and ik.PROP_C5 = "+"'"+kucunhuizong.propC5.trim()+"'"; + } + } + + //是否盘点 + if(kucunhuizong.coun_Plan!=null&& !kucunhuizong.coun_Plan.equals("")){ + if (Integer.parseInt(kucunhuizong.coun_Plan)==0) { + sql+=" and inv.coun_Plan is null"; + }else { + sql+=" and inv.coun_Plan is not null"; + } + } + + //是否批次号管理 + if(kucunhuizong.SINGLE_ITEM!=null&& !kucunhuizong.SINGLE_ITEM.equals("")){ + + if (Integer.parseInt(kucunhuizong.SINGLE_ITEM)==0) { + sql+=" and ik.PROP_C1 is null"; + }else { + sql+=" and ik.PROP_C1 is not null"; + } + } + + //是否有效期管理 + if(kucunhuizong.validity!=null&& !kucunhuizong.validity.equals("")){ + + sql+=" and item.ISBOM = "+"'"+kucunhuizong.validity+"'"; + } + + //退料标记 + if(kucunhuizong.statuss!=null&& !kucunhuizong.statuss.equals("")){ + + sql+=" and inv.statuss = "+"'"+kucunhuizong.statuss+"'"; + } + + + String sqlCount = "select count(t.id) as nums from(" + sql+"\n " + + "group by inv.id,item.id,loc.id,ik.PROP_C1,ik.PROP_C2,ik.PROP_C3,ik.PROP_C5,ik.PROP_C7,inv.STATUS,item.isBOM,inv.statuss,stock1.agvFlag"+") t"; + String sqlFy = "select t.* from(" + sql+"\n " + + "group by inv.id,item.id,loc.id,ik.PROP_C1,ik.PROP_C2,ik.PROP_C3,ik.PROP_C5,ik.PROP_C7,inv.STATUS,item.isBOM,inv.statuss,stock1.agvFlag"+") 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 zt() { + String sql="select distinct STATUS from INVENTORY"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } + + @Override + public Result ku() { + String sql="select distinct name from [ZONE]"; + List> list=jdbcTemplate.queryForList(sql,new HashMap<>()); + return Result.success(list); + } }