1.修复一跨平直大版工序错误

2.调整汇总数据提取
3.删除重复依赖
master
董哲奇 12 months ago
parent 0f67cd5804
commit c8eacf4703

@ -34,11 +34,6 @@
<artifactId>easypoi-annotation</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>

@ -1,8 +1,12 @@
package com.dsic.gj_erp.bean.jhgk;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsic.gj_erp.pc.Constant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -49,8 +53,8 @@ public class DmSygdMx implements Serializable {
private String wpxh;
@ApiModelProperty(value = "划线长度(米)")
private Double hxcd;
private Double dmcd;
private volatile Double hxcd;
private volatile Double dmcd;
private String dmrq;
private String pkrq;
private String llrq;
@ -65,7 +69,7 @@ public class DmSygdMx implements Serializable {
private Double pklx;
@ApiModelProperty(value = "坡口长度")
private Double pkcd;
private volatile Double pkcd;
@ApiModelProperty(value = "零件数量")
private Double ljsl;
@ -203,6 +207,91 @@ public class DmSygdMx implements Serializable {
private String qjggxbm;
public void (Constant. _,String date){
switch(_){
case :
this.slrq=date;
break;
case :
this.pwrq=date;
break;
case :
this.llrq=date;
break;
case 线:
this.hxrq=date;
break;
case :
this.qgrq=date;
break;
case :
break;
case :
break;
case :
break;
case :
break;
case :
break;
case :
break;
case :
break;
case :
break;
case :
break;
case :
break;
case :
break;
}
}
public static DmSygdMx ofWithDmSygdMxlj(DmSygdMxLj lj){
DmSygdMx mx = new DmSygdMx();
BeanUtil.copyProperties(lj,mx);
mx.setId(null);
mx.setDcCh(lj.getDcch());
mx.setDcCh2(lj.getMbch());
mx.setDcCh1(lj.getSjch());
mx.setDcPl(lj.getPl());
mx.setTzbh(lj.getTzbh());
//fixme 看下getFd数据
mx.setDcFd(lj.getFd());
if (mx.getDcFd()==null){
mx.setDcFd(lj.getFd());
}else if(!mx.getDcFd().equals(lj.getFd())){
String fd=mx.getDcFd()+" "+lj.getFd();
mx.setDcFd(fd);
}
mx.setJssj(lj.getXzglxq());
mx.setGjjsDz(lj.getDzglxq());
mx.setGxsj(DateUtil.date().toString("yyyy/MM/dd"));
if (StrUtil.isNotEmpty(lj.getTzbh())&&lj.getTzbh().charAt(5)== 'X'){
mx.setLx("X");
}else{
mx.setLx("B");
}
mx.setWpxh(lj.getWpcz());
if (mx.getPkcd()==null){
mx.setPkcd(lj.getPkcd());
}else{
Double pkcd=mx.getPkcd()+lj.getPkcd();
mx.setPkcd(pkcd);
}
if (mx.getDmcd()==null){
mx.setDmcd(lj.getDmcd());
}else{
Double dmcd=mx.getDmcd()+lj.getDmcd();
mx.setDmcd(dmcd);
}
mx.setXcms(lj.getXcshms());
return mx;
}
}

@ -126,49 +126,6 @@ public class DmSygdMxController {
return service.sygdPC();
}
private static Semaphore semaphore = new Semaphore(1);
@GetMapping("pc")
public ResultBean<?> pc(String from, String to){
try {
semaphore.acquire();
.execute(from,to);
} catch (InterruptedException e) {
throw new RuntimeException(e);
} finally {
semaphore.release();
}
return new ResultBean<>();
}
@GetMapping("sygdjh")
public ResultBean<?> (String from, String to) throws InterruptedException {
semaphore.acquire();
if (!StrUtil.isAllNotEmpty(from,to)){
semaphore.release();
return new ResultBean<>();
}
HashMap<Object, Object> map = new HashMap<>();
if (from.equals(Manager.from)&&to.equals(Manager.to)){
semaphore.release();
map.put("result",Manager.);
map.put("zy",Manager.);
return new ResultBean<>(map);
}
try {
.execute(from,to);
}finally {
semaphore.release();
}
map.put("result",Manager.);
map.put("zy",Manager.);
return new ResultBean<>(map);
}
@RequestMapping("/saveList")
@AuthFunction
public ResultBean saveList( @RequestBody List<DmSygdMx> list ){

@ -0,0 +1,74 @@
package com.dsic.gj_erp.controller.jhgk;
import cn.hutool.core.util.StrUtil;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.pc.Manager;
import com.dsic.gj_erp.pc.service.;
import com.dsic.gj_erp.pc.;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.concurrent.Semaphore;
@RestController
@RequestMapping("sygdpc")
@AllArgsConstructor
public class {
private final _;
private static Semaphore semaphore = new Semaphore(1);
@GetMapping("createSygdjh")
public ResultBean<?> (String from, String to){
try {
semaphore.acquire();
return _.(from,to);
} catch (InterruptedException e) {
throw new RuntimeException(e);
} finally {
semaphore.release();
}
}
@GetMapping("pc")
public ResultBean<?> pc(String from, String to){
try {
semaphore.acquire();
.execute(from,to);
} catch (InterruptedException e) {
throw new RuntimeException(e);
} finally {
semaphore.release();
}
return new ResultBean<>();
}
@GetMapping("sygdjh")
public ResultBean<?> (String from, String to) throws InterruptedException {
semaphore.acquire();
if (!StrUtil.isAllNotEmpty(from,to)){
semaphore.release();
return new ResultBean<>();
}
HashMap<Object, Object> map = new HashMap<>();
if (from.equals(Manager.from)&&to.equals(Manager.to)){
semaphore.release();
map.put("zy",Manager.);
return new ResultBean<>(map);
}
try {
.execute(from,to);
}finally {
semaphore.release();
}
map.put("zy",Manager.);
return new ResultBean<>(map);
}
}

@ -3,6 +3,7 @@ package com.dsic.gj_erp.mapper.jhgk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj;
import com.dsic.gj_erp.bean.jhgk.DmSygdxq;
import org.apache.ibatis.annotations.Param;
@ -20,4 +21,7 @@ public interface DmSygdxqMapper extends BaseMapper<DmSygdxq> {
List<DmSygdxq> getXqWithBom(String from,String to);
List<DmSygdMxLj> getSygdLjMx(String begin,String end);
}

@ -34,19 +34,19 @@ public interface Constant {
01(.,"理料01","",0,0,240.0,286.0,526.0),
线01(.线,"划线01","",0,0,240.0,286.0,526.0),
01(.,"龙门01","",2.4,3.6,9.6,15.6,25.2),
01(.,"火焰01","",0.3,11.5,2.0,0,2.0),
01(.,"龙门01","",2.4,3.6,19.6,15.6,25.2),
01(.,"火焰01","",0.3,11.15,2.0,0,2.0),
01(.,"数控01","",1.5,3.0,0,8.5,8.5),
03(., "火焰03", "", 0.3, 11.5, 2.0, 0, 2.0),
03(., "火焰03", "", 0.3, 11.5, 12.0, 0, 2.0),
03(., "数控03", "", 2.0, 4.2, 0, 14.0, 14.0),
03(., "龙门03", "", 1.6, 3.2, 7.2, 11.2, 18.4),
03(., "龙门03", "", 1.6, 3.2, 17.2, 11.2, 18.4),
02(., "火焰02", "", 0.3, 11.5, 3.9, 0, 3.9),
02(., "火焰02", "", 0.3, 11.5, 13.9, 0, 3.9),
02(., "数控02", "", 1.4, 3.0, 0, 18.2, 18.2),
02(., "龙门02", "", 2.0, 3.0, 10.0, 13.0, 13.0),
02(., "龙门02", "", 2.0, 3.0, 20.0, 13.0, 13.0),
01(., "坡口01", "", 2.0, 3.0, 1.0, 13.0, 13.0),
01(., "型材01", "", 2.0, 3.0, 10.0, 13.0, 13.0),
01(., "坡口01", "", 2.0, 3.0, 50.0, 13.0, 13.0),
01(., "型材01", "", 2.0, 3.0, 50.0, 13.0, 13.0),
01(., "曲加工01", "", 2.0, 3.0, 10.0, 13.0, 13.0),
01(., "打磨01", "", 2.0, 3.0, 10.0, 13.0, 13.0),
01(.NULL, "未知01", "", 2.0, 3.0, 10.0, 13.0, 13.0),

@ -31,7 +31,7 @@ public class 一跨平直大板 extends 套料图工序 {
.add(Constant..)
.add(Constant..线)
.add(Constant..)
.add(Constant..)
.add(Constant..)
.build();
return this;
}

@ -0,0 +1,82 @@
package com.dsic.gj_erp.pc.service;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsic.gj_erp.bean.ResultBean;
import com.dsic.gj_erp.bean.jhgk.DmSygd;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj;
import com.dsic.gj_erp.bean.jhgk.DmYdjhxf;
import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper;
import com.dsic.gj_erp.pc.Manager;
import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
import com.dsic.gj_erp.service.jhgk.DmSygdService;
import com.dsic.gj_erp.service.jhgk.impl.DmSygdMxLjServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@AllArgsConstructor
public class {
private final DmSygdxqMapper sygdxqMapper;
private final DmSygdMxLjServiceImpl ljService;
private final DmSygdMxService sygdMxService;
private final DmSygdService sygdService;
@Transactional
public ResultBean (String begin, String end) {
//清理历史数据
ljService.remove(new QueryWrapper<DmSygdMxLj>().between("xzglxq", begin, end));
sygdMxService.remove(new QueryWrapper<DmSygdMx>().between("jssj", begin, end));
sygdService.remove(new QueryWrapper<DmSygd>().between("sl_sj", begin, end));
//开始汇总
List<DmSygdMxLj> ljList = sygdxqMapper.getSygdLjMx(begin,end);
if (ljList.size() < 1) {
return new ResultBean(false, 1, "请先导入" + begin + " ~ " + end + "分段钢料需求!");
}
//2.根据
List<DmSygdMx> mxList = ljList.stream().map(DmSygdMx::ofWithDmSygdMxlj).collect(Collectors.toList());
Map<String, List<DmSygdMx>> collect = mxList.stream().collect(Collectors.groupingBy(item -> item.getDcCh() + item.getDcPl() + item.getTzbh()));
Manager..values().forEach(_->{
_.getMAP().values().forEach(_->{
_.get().values().forEach(_->{
_.get().parallelStream().forEach(_bom->{
List<DmSygdMx> dmSygdMxes = collect.get(_bom.getDcch() + _bom.getPl() + _bom.getTzbh());
for (DmSygdMx mx:dmSygdMxes){
mx.(_.get(),_.getDate());
}
});
});
});
});
sygdMxService.saveBatch(mxList,500);
ljList.forEach(lj-> mxList.forEach(mx->{
if (lj.getDcch().equals(mx.getDcCh())
&&lj.getPl().equals(mx.getDcPl())
&& (StrUtil.isBlank(lj.getTzbh())||lj.getTzbh().equals(mx.getTzbh()))){
lj.setParentId(mx.getId());
}
}));
ljService.saveBatch(ljList,500);
List<DmYdjhxf> list= sygdMxService.tqSygd1(begin,end);
ResultBean r = new ResultBean(list);
return r;
}
}

@ -433,15 +433,15 @@
)a) as 'bs',
(SELECT a.slrq from
( SELECT row_number() over(partition by DC_CH,DC_PL order by slrq ) rn,DC_CH,DC_PL,slrq from dm_sygd_mx WHERE
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and isnull(dm_sygd_mx.slrq,'') != ''
)a WHERE rn=1) as 'sl',
(SELECT a.slrq from
( SELECT row_number() over(partition by DC_CH,DC_PL order by slrq ) rn,DC_CH,DC_PL,slrq from dm_sygd_mx WHERE
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='16'
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='16' and isnull(dm_sygd_mx.slrq,'') != ''
)a WHERE rn=1) as 'xcpw',
(SELECT a.pwrq from
( SELECT row_number() over(partition by DC_CH,DC_PL order by pwrq ) rn,DC_CH,DC_PL,pwrq from dm_sygd_mx WHERE
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw!='16'
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw!='16' and isnull(dm_sygd_mx.pwrq,'') != ''
)a WHERE rn=1) as 'pw',
(SELECT COUNT(c) from
( SELECT COUNT(1) as c
@ -483,7 +483,7 @@
)a ) as 'sksk',
(SELECT a.qgrq from
( SELECT row_number() over(partition by DC_CH,DC_PL order by qgrq ) rn,DC_CH,DC_PL,qgrq from dm_sygd_mx WHERE
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='14'
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='14' and isnull(dm_sygd_mx.qgrq,'') != ''
)a WHERE rn=1) as 'skskqgks',
(SELECT COUNT(c) from
( SELECT COUNT(1) as c
@ -493,7 +493,7 @@
)a ) as 'skpt',
(SELECT a.qgrq from
( SELECT row_number() over(partition by DC_CH,DC_PL order by qgrq ) rn,DC_CH,DC_PL,qgrq from dm_sygd_mx WHERE
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='6'
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='6' and isnull(dm_sygd_mx.qgrq,'') != ''
)a WHERE rn=1) as 'ptks',
(SELECT COUNT(c) from
( SELECT COUNT(1) as c
@ -503,7 +503,7 @@
)a ) as 'skbs',
(SELECT a.qgrq from
( SELECT row_number() over(partition by DC_CH,DC_PL order by qgrq ) rn,DC_CH,DC_PL,qgrq from dm_sygd_mx WHERE
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='15'
dm_sygd_mx.dc_ch=aa.dc_ch and dm_sygd_mx.dc_pl=aa.dc_pl and dm_sygd_mx.kw='15' and isnull(dm_sygd_mx.qgrq,'') != ''
)a WHERE rn=1) as 'skqgks',
(SELECT COUNT(c) from
( SELECT COUNT(1) as c

@ -26,7 +26,8 @@
</resultMap>
<select id="getXqWithBom" resultMap="sqgdxqVo">
select
select * from
(select
xq.id,
xq.dc_ch,
xq.dc_pl,
@ -43,12 +44,76 @@
bom.wpcz as bom_wpcz,
bom.ljsl as bom_ljsl,
bom.fkgs as bom_fkgs,
bom.tlsl as bom_tlsl
bom.tlsl as bom_tlsl,
ROW_NUMBER() over(partition by bom.dcch,bom.pl,bom.tzbh order by bom.tzbh) rn
from
dm_sygdxq xq left join dm_bom bom on bom.dcch = xq.DC_CH and bom.pl = xq.DC_PL and bom.fd = xq.DC_FD
where
xq.xzglxq between #{from} and #{to}
order by xq.xzglxq
) a
where a.rn=1
order by a.xzglxq
</select>
<select id="getSygdLjMx" resultType="dmSygdMxLj">
SELECT
dm_sygdxq.xzglxq ,
dm_sygdxq.dzglxq ,
dm_sygdxq.DC_CH as dcch,
dm_sygdxq.DC_PL as pl,
dm_sygdxq.DC_FD as fd,
dm_bom.mbch,
dm_bom.pw,
dm_bom.lqlb,
dm_bom.kw,
dm_bom.zl,
dm_bom.wpcz,
dm_bom.wpgg,
dm_bom.bh,
dm_bom.bc,
dm_bom.yqyl,
dm_bom.qgcd,
(SELECT (CASE WHEN dm_bom.tzbh is null THEN '' ELSE dm_bom.tzbh END)) as tzbh,
dm_bom.tlsl,
dm_bom.pklx,
dm_bom.qbs,
dm_bom.pkbs,
dm_bom.pkcd,
dm_bom.dmbs,
dm_bom.dmcd,
dm_bom.zpsx,
dm_bom.ljbh,
dm_bom.ljsl,
dm_bom.ljsx,
dm_bom.djmj,
dm_bom.ljdz,
dm_bom.blgs,
dm_bom.pwgs,
dm_bom.llgs,
dm_bom.hxgs,
dm_bom.qggs,
dm_bom.pkgs,
dm_bom.qgs,
dm_bom.dmgs,
dm_bom.zpgs,
dm_bom.hxcd,
dm_bom.xcgs,
dm_bom.xcshms,
dm_bom.bclqzl,
dm_bom.bcshzl,
dm_bom.bcylzl,
dm_bom.bcljtlzl,
dm_bom.ylbhgg,
dm_bom.bcqpyld,
REPLACE(CAST(CAST(NEWID()AS BINARY(10)) + CAST(GETDATE() AS BINARY(6)) AS UNIQUEIDENTIFIER),'-','') as id
from dm_sygdxq LEFT JOIN dm_bom
on dm_bom.dcch = dm_sygdxq.DC_CH
and dm_bom.pl = dm_sygdxq.DC_PL
and dm_bom.fd = dm_sygdxq.DC_FD
where
dm_sygdxq.xzglxq between #{begin} and #{end}
ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD
</select>
</mapper>

Loading…
Cancel
Save