Merge remote-tracking branch 'origin/master'

master
董哲奇 7 months ago
commit 938064a263

@ -162,6 +162,21 @@ public class ZyjhController {
}
}
/**
*
*
*/
@PostMapping("pgd2")
public ResultBean<?> pgd2(@RequestBody PgdSearch search) throws NoSuchFieldException {
List<DmYdjh> list = zyjhService.list(Wrappers.<DmYdjh>query()
//执行查询
.isNull(search.getField()).ge("zt",11)
// .eq("",search.getUser()).lt("zt",62)
);
return new ResultBean<>(list);
}
/**
*
*/
@ -217,21 +232,6 @@ public class ZyjhController {
return new ResultBean<>(list);
}
// @PostMapping("sljhWeb")
// public ResultBean<?> sljhWeb(@RequestBody SljhSearch search){
// String date = DateUtil.date().toString("yyyy/MM/dd");
// if (StrUtil.isAllNotEmpty(search.getSljhrq())){
// date=search.getSljhrq();
// }
// List<DmYdjh> list = zyjhService.list(Wrappers.<DmYdjh>lambdaQuery()
// .le(DmYdjh::getSljhrq, date)
// .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getZt, search.getZt())
// .eq(StrUtil.isNotEmpty(search.getDcch()),DmYdjh::getDcCh, search.getDcch())
// .eq(StrUtil.isNotEmpty(search.getPl()),DmYdjh::getDcPl, search.getPl())
// .eq(StrUtil.isNotEmpty(search.getKw()),DmYdjh::getKw, search.getKw())
// );
// return new ResultBean<>(list);
// }
/**
*
@ -294,4 +294,13 @@ public class ZyjhController {
return new ResultBean<>();
}
@PostMapping("test")
public ResultBean<?> test(@RequestBody Message msg){
wsHandler.tip(msg.toJson());
if (msg.getCode()==3000){
wsHandler.zyjhzx(msg.toJson());
}
return new ResultBean<>();
}
}

@ -2,7 +2,6 @@ package com.dsic.gj_erp.service.jhgk.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
@ -10,37 +9,29 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jcsj.*;
import com.dsic.gj_erp.bean.jcsj.excel.PlExcel;
import com.dsic.gj_erp.bean.jhgk.*;
import com.dsic.gj_erp.bean.jhgk.dto.*;
import com.dsic.gj_erp.bean.sy.Dm_zhbmp;
import com.dsic.gj_erp.dao.sy.Dm_zhbmpRepository;
import com.dsic.gj_erp.handler.ComputePlan;
import com.dsic.gj_erp.handler.dto.RealCapacity;
import com.dsic.gj_erp.mapper.jcsj.DmBomMapper;
import com.dsic.gj_erp.mapper.jcsj.EmGcrlMapper;
import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper;
import com.dsic.gj_erp.mapper.jhgk.DmZrcjhMapper;
import com.dsic.gj_erp.service.jcsj.DmCzplpNewService;
import com.dsic.gj_erp.service.jcsj.EmSbcnpService;
import com.dsic.gj_erp.service.jhgk.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.sql.Date;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
/**
@ -907,44 +898,151 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
return new ResultBean(sygdList);
}
private List<DmYdjhxf> tqSygd2(String begin,String end){
List<String> slkw=Arrays.asList("7","8","9","5","6","15","11","14");
List<DmSygdMx> list = this.list(Wrappers.<DmSygdMx>lambdaQuery().between(DmSygdMx::getJssj, begin, end));
Map<String, List<DmSygdMx>> collect = list.stream().collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl()));
List<DmYdjhxf> list2=new ArrayList<>();
//按批次合并为一行
collect.forEach((key,val)->{
Set<String> plSet=new HashSet<>();
DmYdjhxf dmYdjhxf = new DmYdjhxf();
dmYdjhxf.setDcCh(key.split("_")[0]);
dmYdjhxf.setDcPl(key.split("_")[1]);
AtomicReference<Integer> bs= new AtomicReference<>(0);
AtomicReference<Integer> yklm= new AtomicReference<>(0);
AtomicReference<Integer> yksk= new AtomicReference<>(0);
AtomicReference<Integer> eksk= new AtomicReference<>(0);
AtomicReference<Integer> eksk2= new AtomicReference<>(0);
AtomicReference<Integer> sksk= new AtomicReference<>(0);
AtomicReference<Integer> skpt= new AtomicReference<>(0);
AtomicReference<Integer> skbs= new AtomicReference<>(0);
AtomicReference<Integer> skbs2= new AtomicReference<>(0);
val.forEach(item-> {
plSet.add(item.getDcFd());
if (slkw.contains(item.getKw())){
bs.updateAndGet(v -> v + 1);
}
if ("7".equals(item.getKw())){
yklm.updateAndGet(v -> v + 1);
}
if ("8".equals(item.getKw())){
yksk.updateAndGet(v -> v + 1);
}
if ("9".equals(item.getKw())){
eksk.updateAndGet(v -> v + 1);
}
if ("5".equals(item.getKw())){
eksk2.updateAndGet(v -> v + 1);
}
if ("14".equals(item.getKw())){
sksk.updateAndGet(v -> v + 1);
}
if ("6".equals(item.getKw())){
skpt.updateAndGet(v -> v + 1);
}
if ("15".equals(item.getKw())){
skbs.updateAndGet(v -> v + 1);
}
if ("11".equals(item.getKw())){
skbs2.updateAndGet(v -> v + 1);
}
});
dmYdjhxf.setDcFd(String.join("/", plSet));
dmYdjhxf.setBs(Double.valueOf(bs.get()));
//上料日期
DmSygdMx minSlrq=val.stream().filter(item->StrUtil.isNotEmpty(item.getSlrq()))
.min(Comparator.comparing(DmSygdMx::getSlrq)).get();
dmYdjhxf.setSl(minSlrq.getSlrq());
//型材抛丸日期
val.stream().filter(item -> "16".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getSlrq)).ifPresent(item -> dmYdjhxf.setXcpw(item.getSlrq()));
//抛丸日期
val.stream().filter(item->StrUtil.isNotEmpty(item.getPwrq()))
.min(Comparator.comparing(DmSygdMx::getPwrq)).ifPresent(item -> dmYdjhxf.setPw(item.getPwrq()));
//一跨龙门数量
dmYdjhxf.setYklm(yklm.get()+"");
//一跨数控数量
dmYdjhxf.setYksk(yksk.get()+"");
//二跨数控数量
dmYdjhxf.setEksk(eksk.get()+"");
//二跨数控开始
val.stream().filter(item -> "9".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setEkskks(item.getQgrq()));
//二跨数控2
dmYdjhxf.setEksk2(eksk2.get()+"");
//二跨数控2开始
val.stream().filter(item -> "5".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setEkskks(item.getQgrq()));
dmYdjhxf.setSksk(sksk.get()+"");
val.stream().filter(item->"14".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkskqgks(item.getQgrq()));
dmYdjhxf.setSkpt(skpt.get()+"");
val.stream().filter(item->"6".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setPtks(item.getQgrq()));
dmYdjhxf.setSkbs(skbs.get()+"");
val.stream().filter(item->"15".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkqgks(item.getQgrq()));
dmYdjhxf.setSkbs2(skbs2.get()+"");
val.stream().filter(item->"11".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkbs2(item.getQgrq()));
dmYdjhxf.setFdxq(val.get(0).getJssj());
list2.add(dmYdjhxf);
});
return list2;
}
@Transactional
public List<DmYdjhxf> tqSygd1(String begin,String end){
List<DmYdjhxf> list= baseMapper.tqSygd1(begin,end);
List<DmYdjhxf> list2=new ArrayList<>();
//1行分为两行
for (DmYdjhxf l : list) {
DmYdjhxf ydjhxf1=new DmYdjhxf();//第二行
ydjhxf1.setDcCh(l.getDcCh());
ydjhxf1.setDcPl(l.getDcPl());
String[] fds= l.getDcFd().split(" ");
double count= fds.length%2;
int index;
if (count>0){
index= (fds.length/2)+1;
}else {
index= fds.length/2;
}
String fd1= Arrays.toString(Arrays.copyOfRange(fds, 0, index)).replace(","," ");// 截取索引0包括到索引index不包括的元素
String fd2= Arrays.toString(Arrays.copyOfRange(fds, index, fds.length)).replace(","," ");
// List<DmYdjhxf> list= baseMapper.tqSygd1(begin,end);
// List<DmYdjhxf> list2=new ArrayList<>();
l.setDcFd(fd1.substring(1,fd1.lastIndexOf("]")));
ydjhxf1.setDcFd(fd2.substring(1,fd2.lastIndexOf("]")));
ydjhxf1.setEksk(l.getEksk2());
ydjhxf1.setEkskks(l.getEkskks2());
if (StrUtil.isNotEmpty(l.getSkbs())){
l.setZl("X");//4跨普通板
}
if (StrUtil.isNotEmpty(l.getSkbs2())){
ydjhxf1.setZl("Z");//2跨T型材腹板
}
ydjhxf1.setSkbs(l.getSkbs2());
ydjhxf1.setSkqgks(l.getSkqgks2());
ydjhxf1.setFdxq(l.getFdxq());
list2.add(l);
list2.add(ydjhxf1);
}
//1行分为两行
// for (DmYdjhxf l : list) {
// DmYdjhxf ydjhxf1=new DmYdjhxf();//第二行
// ydjhxf1.setDcCh(l.getDcCh());
// ydjhxf1.setDcPl(l.getDcPl());
// String[] fds= l.getDcFd().split(" ");
// double count= fds.length%2;
// int index;
// if (count>0){
// index= (fds.length/2)+1;
// }else {
// index= fds.length/2;
// }
// String fd1= Arrays.toString(Arrays.copyOfRange(fds, 0, index)).replace(","," ");// 截取索引0包括到索引index不包括的元素
// String fd2= Arrays.toString(Arrays.copyOfRange(fds, index, fds.length)).replace(","," ");
//
// l.setDcFd(fd1.substring(1,fd1.lastIndexOf("]")));
// ydjhxf1.setDcFd(fd2.substring(1,fd2.lastIndexOf("]")));
// ydjhxf1.setEksk(l.getEksk2());
// ydjhxf1.setEkskks(l.getEkskks2());
// if (StrUtil.isNotEmpty(l.getSkbs())){
// l.setZl("X");//4跨普通板
// }
// if (StrUtil.isNotEmpty(l.getSkbs2())){
// ydjhxf1.setZl("Z");//2跨T型材腹板
// }
// ydjhxf1.setSkbs(l.getSkbs2());
// ydjhxf1.setSkqgks(l.getSkqgks2());
// ydjhxf1.setFdxq(l.getFdxq());
// list2.add(l);
// list2.add(ydjhxf1);
// }
return list2;
return this.tqSygd2(begin,end);
}
}

@ -9,5 +9,5 @@ ws:
maxHttpContentLength: 1048576
maxFramePayloadLength: 1048576
client:
url: ws://127.0.0.1:9000
url: ws://192.168.13.9:9000
id: abc

@ -2,8 +2,29 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsic.gj_erp.mapper.jhgk.DmQfxqMapper">
<select id="getYdjh" resultType="com.dsic.gj_erp.bean.jhgk.DmYdjh" parameterType="arraylist">
select * from(
SELECT
a.DC_CH,a.DC_PL, a.xzglxq, a.dzglxq as gjjs_dz,
b.dc_ch1, b.LQLB, b.tzbh, b.wpgg, b.wpxh, b.hxcd, b.qgcd, b.qbs, b.pklx, b.pkcd, b.ljsl,
b.zl, b.lx, b.xcms, b.kw, b.slrq, b.slrq sljhrq, b.slry, b.llrq, b.llrq lljhrq, b.pw, b.pwry,
b.pwrq, b.pwrq pwjhrq, b.hxsb, b.hxry, b.hxrq, b.hxrq hxjhrq, b.qgsb, b.qgry, b.qgrq, b.qgrq qgjhrq,
b.pwsb, b.DC_FD, b.jzbs, b.jzsb, b.jzry, b.dcCh2, b.gjks, b.gxsj, b.hxkc_cd, b.qgkc_cd, b.jssj, b.zt,
b.xcgs, b.bclqzl, b.bcshzl, b.bcylzl, b.bcljtlzl, b.bcqpyld, b.ylbhgg, b.xxr, b.pkrq, b.qjgrq, b.dmrq,
row_number() over(partition by a.DC_CH,a.DC_PL,b.tzbh order by a.xzglxq ) rn
from
dm_qfxq a left JOIN dm_sygd_mx b
on a.dc_pl=b.dc_pl and a.DC_CH=b.dc_ch and a.DC_FD=b.dc_fd
where a.id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
) a
where a.rn =1
ORDER BY a.xzglxq,a.DC_CH,a.DC_PL
</select>
<select id="getYdjh_bak" resultType="com.dsic.gj_erp.bean.jhgk.DmYdjh" parameterType="arraylist">
SELECT
dm_qfxq.DC_CH,dm_qfxq.DC_PL,

Loading…
Cancel
Save