Merge remote-tracking branch 'origin/master'

master
xhj 5 months ago
commit 8f73edfd2c

@ -92,6 +92,9 @@ public class DmSygdMx implements Serializable {
@ApiModelProperty(value = "上料日期") @ApiModelProperty(value = "上料日期")
private String slrq; private String slrq;
@ApiModelProperty(value = "型材抛丸日期")
private String xcpw;
private String slsb; private String slsb;
@ApiModelProperty(value = "上料人员") @ApiModelProperty(value = "上料人员")
@ -124,6 +127,9 @@ public class DmSygdMx implements Serializable {
@ApiModelProperty(value = "切割日期") @ApiModelProperty(value = "切割日期")
private String qgrq; private String qgrq;
@ApiModelProperty(value = "切割结束")
private String qgjs;
@ApiModelProperty(value = "抛丸设备") @ApiModelProperty(value = "抛丸设备")
private String pwsb; private String pwsb;

@ -392,6 +392,13 @@ public class DmYdjh implements Serializable {
public void setZtForSl(){ public void setZtForSl(){
this.zt=ZyjhzxEnum.SLFK.code; this.zt=ZyjhzxEnum.SLFK.code;
} }
public void setZtForHXFK(){
this.zt=ZyjhzxEnum.HXFK.code;
}
public void setZtForQGFK(){
this.zt=ZyjhzxEnum.QGFK.code;
}
public static String getSlZt(){ public static String getSlZt(){
return ZyjhzxEnum.SLFK.code; return ZyjhzxEnum.SLFK.code;
} }

@ -1,5 +1,6 @@
package com.dsic.gj_erp.bean.jhgk.excel; package com.dsic.gj_erp.bean.jhgk.excel;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat; import com.alibaba.excel.annotation.format.DateTimeFormat;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -204,4 +205,11 @@ public class JhxfExcel {
@ExcelProperty("备注") @ExcelProperty("备注")
private String bz; private String bz;
private Boolean qwbBs=false;
public boolean isAvailable(){
return !StrUtil.isAllBlank(this.sl,this.xcpw,this.pw,this.dbqgks,this.ykpkjs,this.lmqgks,this.lmqgjs,
this.ekskks,this.ekpkjs,this.skskqgks,this.skpkjs,this.ptks,this.ptjs,this.qpt_zjs,this.qptjs,
this.qwbjs,this.fbqgks,this.fbqgjs,this.skqgks,this.pkqgjs,this.mbjb,this.xcmb,this.fdxq,this.gdjs);
}
} }

@ -20,7 +20,7 @@ public class CutPlan extends Model<CutPlan> {
private String nestName; private String nestName;
private String nestNameSub1;//套料图号 private String nestNameSub1;//套料图号 _V:切割;_K:划线
private String nestItaatu;//厚 private String nestItaatu;//厚

@ -13,6 +13,7 @@ import com.dsic.gj_erp.listeners.ExcelJhxfListener;
import com.dsic.gj_erp.service.jcsj.EmGcrlService; import com.dsic.gj_erp.service.jcsj.EmGcrlService;
import com.dsic.gj_erp.service.jcsj.EmSbcnpService; import com.dsic.gj_erp.service.jcsj.EmSbcnpService;
import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
import com.dsic.gj_erp.service.jhgk.impl.YdjhImportService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -34,6 +35,9 @@ import java.util.stream.Collectors;
@RequestMapping("/dmSygdMx") @RequestMapping("/dmSygdMx")
public class DmSygdMxController { public class DmSygdMxController {
@Autowired
private YdjhImportService ydjhImportService;
@Autowired @Autowired
private DmSygdMxService service; private DmSygdMxService service;
@Autowired @Autowired
@ -145,7 +149,8 @@ public class DmSygdMxController {
EasyExcel.read(file.getInputStream(), JhxfExcel.class, objectListener).sheet(0).headRowNumber(1).doRead(); EasyExcel.read(file.getInputStream(), JhxfExcel.class, objectListener).sheet(0).headRowNumber(1).doRead();
List<JhxfExcel> objList = objectListener.getObjectList(); List<JhxfExcel> objList = objectListener.getObjectList();
service.ydjhImport(objList); ydjhImportService.handler(objList);
// service.ydjhImport(objList);
return new ResultBean(); return new ResultBean();

@ -59,6 +59,14 @@ public class KbanController {
@Value("${pdfUri}") @Value("${pdfUri}")
private String pdfUri; private String pdfUri;
/**
*
*/
@GetMapping("/getDeviceStatus")
public ResultBean<?> getDeviceStatus() {
return new ResultBean<>(kbanService.getDeviceStatus());
}
/** /**
* *
*/ */

@ -46,18 +46,18 @@ public class ExcelJhxfListener extends AnalysisEventListener<JhxfExcel> {
} }
boolean a=false; boolean a=false;
// 9个数量都为空 不导入 // 9个数量都为空 不导入
if(StringUtils.isBlank(excelDemo.getBs1()) && // if(StringUtils.isBlank(excelDemo.getBs1()) &&
StringUtils.isBlank(excelDemo.getYklm())&& // StringUtils.isBlank(excelDemo.getYklm())&&
StringUtils.isBlank(excelDemo.getYksk())&& // StringUtils.isBlank(excelDemo.getYksk())&&
StringUtils.isBlank(excelDemo.getEklmbs())&& // StringUtils.isBlank(excelDemo.getEklmbs())&&
StringUtils.isBlank(excelDemo.getEksk())&& // StringUtils.isBlank(excelDemo.getEksk())&&
StringUtils.isBlank(excelDemo.getSksk())&& // StringUtils.isBlank(excelDemo.getSksk())&&
StringUtils.isBlank(excelDemo.getSkpt())&& // StringUtils.isBlank(excelDemo.getSkpt())&&
StringUtils.isBlank(excelDemo.getFbbs())&& // StringUtils.isBlank(excelDemo.getFbbs())&&
StringUtils.isBlank(excelDemo.getSkbs()) // StringUtils.isBlank(excelDemo.getSkbs())
){ // ){
a=true; // a=true;
} // }
boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo); boolean b = ObjConvertUtils.checkObjAllFieldsIsNull(excelDemo);

@ -2,6 +2,7 @@ package com.dsic.gj_erp.mapper.jhgk;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.jcsj.DmBom;
import com.dsic.gj_erp.bean.jcsj.EmGcrlDto; import com.dsic.gj_erp.bean.jcsj.EmGcrlDto;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj; import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj;
@ -42,4 +43,8 @@ public interface DmSygdMxMapper extends BaseMapper<DmSygdMx> {
List<DmSygdxq> getGlgdxq(DmSygdMx sygdMx); List<DmSygdxq> getGlgdxq(DmSygdMx sygdMx);
List<EmGcrlDto> getMxMap(@Param("begin") String begin, @Param("end")String end); List<EmGcrlDto> getMxMap(@Param("begin") String begin, @Param("end")String end);
List<DmBom> getUniBom(String dcCh,String dcPl,String dcFd);
List<DmBom> getBom(String dcCh,String dcPl,String dcFd);
} }

@ -22,4 +22,6 @@ public interface DmSygdxqMapper extends BaseMapper<DmSygdxq> {
List<DmSygdMxLj> getSygdLjMx(String begin,String end); List<DmSygdMxLj> getSygdLjMx(String begin,String end);
List<DmSygdMxLj> getSygdLjMx1(String dcch,String pl,String fd);
} }

@ -9,4 +9,6 @@ public interface CutPlanMapper extends BaseMapper<CutPlan> {
List<CutPlan> getCutPlanList(String st,String ed); List<CutPlan> getCutPlanList(String st,String ed);
void synBom_qgPgd(); void synBom_qgPgd();
} }

@ -3,5 +3,9 @@ package com.dsic.gj_erp.mapper.xiaochi;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsic.gj_erp.bean.xiaochi.Device; import com.dsic.gj_erp.bean.xiaochi.Device;
import java.util.List;
public interface DeviceMapper extends BaseMapper<Device> { public interface DeviceMapper extends BaseMapper<Device> {
List<Device> getDeviceStatus();
} }

@ -70,7 +70,7 @@ public class ApiService {
if (syuserp.getIpAddress()==null ) { if (syuserp.getIpAddress()==null ) {
throw new CustomException(10201, "登陆失败IP地址未配置"); throw new CustomException(10201, "登陆失败IP地址未配置");
} }
if (!syuserp.getIpAddress().equals(ip) ) { if (!syuserp.getIpAddress().contains("all")&&!syuserp.getIpAddress().equals(ip) ) {
throw new CustomException(10201, "登陆失败IP地址未授权"); throw new CustomException(10201, "登陆失败IP地址未授权");
} }
// if (StrUtil.isNotEmpty(syuserp.getMacAddress())&& !syuserp.getMacAddress().equals(macAddress)) { // if (StrUtil.isNotEmpty(syuserp.getMacAddress())&& !syuserp.getMacAddress().equals(macAddress)) {

@ -7,6 +7,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import com.dsic.gj_erp.bean.xiaochi.Device;
import com.dsic.gj_erp.mapper.xiaochi.DeviceMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.dsic.gj_erp.bean.jhgk.DmYdjh; import com.dsic.gj_erp.bean.jhgk.DmYdjh;
@ -21,6 +23,11 @@ import lombok.AllArgsConstructor;
public class KbanService { public class KbanService {
private final KbanMapper kbanMapper; private final KbanMapper kbanMapper;
private final DeviceMapper deviceMapper;
public List<Device> getDeviceStatus(){
return deviceMapper.getDeviceStatus();
}
public Map<String, Object> zrcTable() { public Map<String, Object> zrcTable() {
DateTime date = DateUtil.date(); DateTime date = DateUtil.date();

@ -994,14 +994,26 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
} }
public List<DmYdjhxf> tqSygd2(String begin,String end,String zt){ public List<DmYdjhxf> tqSygd2(String begin,String end,String zt){
List<String> slkw=Arrays.asList("7","8","9","5","6","15","11","14");
List<DmSygdMx> list = this.list(Wrappers.<DmSygdMx>lambdaQuery() List<DmSygdMx> list = this.list(Wrappers.<DmSygdMx>lambdaQuery()
.eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt) .eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt)
.between(DmSygdMx::getJssj, begin, end) .between(DmSygdMx::getJssj, begin, end)
.orderByAsc(DmSygdMx::getSlrq) .orderByAsc(DmSygdMx::getSlrq)
); );
Map<String, List<DmSygdMx>> collect = list.stream().collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl())); //合并曲外板项
Map<String, List<DmSygdMx>> collectQ = list.stream().filter(item->"1".equals(item.getQbs())).collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl()));
List<DmYdjhxf> qList = this.handler(collectQ,true);
qList=qList.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList());
//合并非曲外板项
Map<String, List<DmSygdMx>> collect = list.stream().filter(item->!"1".equals(item.getQbs())).collect(Collectors.groupingBy(item -> item.getDcCh() +"_"+ item.getDcPl()));
List<DmYdjhxf> list2 = this.handler(collect,false);
list2=list2.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList());
qList.addAll(list2);
return qList;
}
private List<DmYdjhxf> handler(Map<String, List<DmSygdMx>> collect,boolean qflag){
List<String> slkw=Arrays.asList("7","8","9","5","6","15","11","14");
List<DmYdjhxf> list2=new ArrayList<>(); List<DmYdjhxf> list2=new ArrayList<>();
//按批次合并为一行 //按批次合并为一行
collect.forEach((key,val)->{ collect.forEach((key,val)->{
@ -1010,6 +1022,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
DmYdjhxf dmYdjhxf = new DmYdjhxf(); DmYdjhxf dmYdjhxf = new DmYdjhxf();
dmYdjhxf.setDcCh(key.split("_")[0]); dmYdjhxf.setDcCh(key.split("_")[0]);
dmYdjhxf.setDcPl(key.split("_")[1]); dmYdjhxf.setDcPl(key.split("_")[1]);
if (qflag){
dmYdjhxf.setDcPl(dmYdjhxf.getDcPl()+"Q");
}
AtomicReference<Integer> bs= new AtomicReference<>(0); AtomicReference<Integer> bs= new AtomicReference<>(0);
AtomicReference<Integer> yklm= new AtomicReference<>(0); AtomicReference<Integer> yklm= new AtomicReference<>(0);
@ -1026,6 +1041,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
} }
tzbhList.add(item.getTzbh()); tzbhList.add(item.getTzbh());
plSet.add(item.getDcFd()); plSet.add(item.getDcFd());
if (slkw.contains(item.getKw())){ if (slkw.contains(item.getKw())){
bs.updateAndGet(v -> v + 1); bs.updateAndGet(v -> v + 1);
} }
@ -1064,7 +1080,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
//型材抛丸日期 //型材抛丸日期
val.stream().filter(item -> "16".equals(item.getKw())) val.stream().filter(item -> "16".equals(item.getKw()))
.min(Comparator.comparing(DmSygdMx::getSlrq)).ifPresent(item -> dmYdjhxf.setXcpw(item.getSlrq())); .filter(item->StrUtil.isNotEmpty(item.getXcpw()))
.min(Comparator.comparing(DmSygdMx::getXcpw)).ifPresent(item -> dmYdjhxf.setXcpw(item.getXcpw()));
//抛丸日期 //抛丸日期
val.stream().filter(item->StrUtil.isNotEmpty(item.getPwrq())) val.stream().filter(item->StrUtil.isNotEmpty(item.getPwrq()))
@ -1072,7 +1089,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
val.stream().filter(item->StrUtil.isNotEmpty(item.getGdjs())) val.stream().filter(item->StrUtil.isNotEmpty(item.getGdjs()))
.min(Comparator.comparing(DmSygdMx::getPwrq)).ifPresent(item -> dmYdjhxf.setGdjs(item.getGdjs())); .min(Comparator.comparing(DmSygdMx::getPwrq)).ifPresent(item -> dmYdjhxf.setGdjs(item.getGdjs()));
//一跨龙门数量 //一跨龙门数量
dmYdjhxf.setYklm(yklm.get()+""); dmYdjhxf.setYklm(yklm.get()+"");
@ -1097,6 +1114,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
val.stream().filter(item->"14".equals(item.getKw())) val.stream().filter(item->"14".equals(item.getKw()))
.filter(item->StrUtil.isNotEmpty(item.getQgrq())) .filter(item->StrUtil.isNotEmpty(item.getQgrq()))
.min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkskqgks(item.getQgrq())); .min(Comparator.comparing(DmSygdMx::getQgrq)).ifPresent(item -> dmYdjhxf.setSkskqgks(item.getQgrq()));
val.stream().filter(item->"14".equals(item.getKw()))
.filter(item->StrUtil.isNotEmpty(item.getQgjs()))
.min(Comparator.comparing(DmSygdMx::getQgjs)).ifPresent(item -> dmYdjhxf.setSkpkjs(item.getQgjs()));
dmYdjhxf.setSkpt(skpt.get()+""); dmYdjhxf.setSkpt(skpt.get()+"");
val.stream().filter(item -> "6".equals(item.getKw())) val.stream().filter(item -> "6".equals(item.getKw()))
@ -1124,7 +1144,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
dmYdjhxf.setFdxq(val.get(0).getJssj()); dmYdjhxf.setFdxq(val.get(0).getJssj());
list2.add(dmYdjhxf); list2.add(dmYdjhxf);
}); });
return list2.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList()); return list2;
} }
@Transactional @Transactional
@ -1169,7 +1189,6 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
return this.tqSygd2(begin,end,null); return this.tqSygd2(begin,end,null);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void ydjhImport(List<JhxfExcel> objList) { public void ydjhImport(List<JhxfExcel> objList) {
@ -1392,6 +1411,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
if(yklm>0){ if(yklm>0){
zz=yklm; zz=yklm;
for (int j = 0; j < yklm; j++) { for (int j = 0; j < yklm; j++) {
if (j>=insertsOne.size()){
break;
}
// 生成数据 // 生成数据
insertsOne.get(j).setKw("7"); insertsOne.get(j).setKw("7");
insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs()); insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs());
@ -1411,6 +1433,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
if(yksk>0){ if(yksk>0){
for (int j = 0; j <yksk; j++) { for (int j = 0; j <yksk; j++) {
// 生成数据 // 生成数据
if (j>=insertsOne.size()){
break;
}
insertsOne.get(zz+j).setKw("8"); insertsOne.get(zz+j).setKw("8");
insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs()); insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs());
zsl++; zsl++;

@ -0,0 +1,598 @@
package com.dsic.gj_erp.service.jhgk.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jcsj.DmBom;
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.excel.JhxfExcel;
import com.dsic.gj_erp.mapper.jhgk.DmSygdMxMapper;
import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper;
import com.dsic.gj_erp.service.jhgk.DmSygdMxLjService;
import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
import com.dsic.gj_erp.service.jhgk.DmSygdService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;
import java.util.stream.Collectors;
@Service
@AllArgsConstructor
public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
private final DmSygdxqMapper sygdxqMapper;
private final DmSygdMxLjService ljService;
@Transactional(rollbackFor = Exception.class)
public void handler(List<JhxfExcel> objList){
List<JhxfExcel> qwb = objList.stream().filter(JhxfExcel::isAvailable)
.filter(item->!item.getDcPl().contains("-"))//去除T型材
.filter(item->!item.getDcPl().contains("/"))//去除T型材
.filter(item->item.getDcFd()!=null)
.filter(item -> item.getDcPl().contains("Q")).collect(Collectors.toList());
this.execute(qwb);
List<JhxfExcel> list = objList.stream().filter(JhxfExcel::isAvailable)
.filter(item->!item.getDcPl().contains("-"))//去除T型材
.filter(item->!item.getDcPl().contains("/"))//去除T型材
.filter(item->item.getDcFd()!=null)
.filter(item -> !item.getDcPl().contains("Q")).collect(Collectors.toList());
this.execute(list);
}
// @Transactional(rollbackFor = Exception.class)
// public void handlerLj(List<DmSygdMx> mxList){
// //处理零件信息
// List<DmSygdMxLj> ljList = sygdxqMapper.getSygdLjMx(begin,end);
// 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);
// }
/**
* ,使使
*/
@Transactional(rollbackFor = Exception.class)
public void execute(List<JhxfExcel> objList) {
objList.forEach(item->{
if (item.getDcPl().contains("A")){
item.setDcPl(item.getDcPl().replace("A",""));
}
if (item.getDcPl().contains("B")){
item.setDcPl(item.getDcPl().replace("B",""));
}
if (item.getDcPl().contains("C")){
item.setDcPl(item.getDcPl().replace("C",""));
}
if (item.getDcPl().contains("Q")){
item.setDcPl(item.getDcPl().replace("Q",""));
item.setQwbBs(true);
}
String format = String.format("%03d", Integer.parseInt(item.getDcPl()));
item.setDcPl(format);
String[] dcfd=item.getDcFd().split("\\.");
for (int fdIndex=0;fdIndex<dcfd.length;fdIndex++){
String dcFd=dcfd[fdIndex];
baseMapper.delete(new QueryWrapper<DmSygdMx>()
.eq("dc_ch",item.getDcCh())
.eq("dc_pl",item.getDcPl())
.eq("dc_fd",dcFd)
);
ljService.remove(new QueryWrapper<DmSygdMxLj>()
.eq("dcch",item.getDcCh())
.eq("pl",item.getDcPl())
.eq("fd",dcFd)
);
List<DmSygdMx> addList=new ArrayList<>();
if (!item.isAvailable()){
addList.add(this.initDefault(item,dcFd));
continue;
}
List<DmSygdMxLj> ljList = sygdxqMapper.getSygdLjMx1(item.getDcCh(), item.getDcPl(),dcFd);
List<DmSygdMx> sygdMxes;
if (item.getQwbBs()){
sygdMxes = this.initBySl(item,ljList.stream()
.filter(it->"3".equals(it.getTzbh().substring(5,6)))
.collect(Collectors.toList()),dcFd
);
}else{
sygdMxes = this.initBySl(item,ljList.stream()
.filter(it->!"3".equals(it.getTzbh().substring(5,6)))
.collect(Collectors.toList()),dcFd
);
}
addList.addAll(sygdMxes);
int _index=0;
int start=0;
int yklmbs=0;
try {
yklmbs=Integer.parseInt(item.getYklm());
}catch (Exception ignored){}
if (yklmbs>0){
if (!sygdMxes.isEmpty()){
_index+=yklmbs;
if (_index>sygdMxes.size()){
_index=sygdMxes.size();
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl()));
}
for (int i=start;i<_index;i++){
this.updateByYklm(item,sygdMxes.get(i));
}
start+=yklmbs;
}else{
List<DmSygdMx> list = this.initByYklm(item, yklmbs,ljList,dcFd);
addList.addAll(list);
}
}
int yksk=0;
try {
yksk=Integer.parseInt(item.getYksk());
}catch (Exception ignored){}
if (yksk>0){
if (!sygdMxes.isEmpty()){
_index+=yksk;
if (_index>sygdMxes.size()){
_index=sygdMxes.size();
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},一垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
}
for (int i=start;i<_index;i++){
this.updateByYksk(item,sygdMxes.get(i));
}
start+=yksk;
}else{
List<DmSygdMx> list = this.initByYksk(item, yksk,ljList,dcFd);
addList.addAll(list);
}
}
int eklmbs=0;
try {
eklmbs=Integer.parseInt(item.getEklmbs());
}catch (Exception ignored){}
if (eklmbs>0){
if (!sygdMxes.isEmpty()){
_index+=eklmbs;
if (_index>sygdMxes.size()){
_index=sygdMxes.size();
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮龙门板数超过上料张数",item.getDcCh(),item.getDcPl()));
}
for (int i=start;i<_index;i++){
this.updateByEklm(item,sygdMxes.get(i));
}
start+=eklmbs;
}else{
List<DmSygdMx> list = this.initByEklmbs(item, eklmbs,ljList,dcFd);
addList.addAll(list);
}
}
int eksk=0;
try {
eksk=Integer.parseInt(item.getEksk());
}catch (Exception ignored){}
if (eksk>0){
if (!sygdMxes.isEmpty()){
_index+=eksk;
if (_index>sygdMxes.size()){
_index=sygdMxes.size();
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},二垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
}
for (int i=start;i<_index;i++){
this.updateByEksk(item,sygdMxes.get(i));
}
start+=eksk;
}else{
List<DmSygdMx> list = this.initByEksk(item, eksk,ljList,dcFd);
addList.addAll(list);
}
}
int sksk=0;
try {
sksk=Integer.parseInt(item.getSksk());
}catch (Exception ignored){}
if (sksk>0){
if (!sygdMxes.isEmpty()){
_index+=sksk;
if (_index>sygdMxes.size()){
_index=sygdMxes.size();
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
}
for (int i=start;i<_index;i++){
this.updateBySksk(item,sygdMxes.get(i));
}
start+=sksk;
}else{
List<DmSygdMx> list = this.initBySksk(item, sksk,ljList,dcFd);
addList.addAll(list);
}
}
int skpt=0;
try {
skpt=Integer.parseInt(item.getSkpt());
}catch (Exception ignored){}
if (skpt>0){
if (!sygdMxes.isEmpty()){
_index+=skpt;
if (_index>sygdMxes.size()){
_index=sygdMxes.size();
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮平铁板数超过上料张数",item.getDcCh(),item.getDcPl()));
}
for (int i=start;i<_index;i++){
this.updateBySkpt(item,sygdMxes.get(i));
}
start+=skpt;
}else{
List<DmSygdMx> list = this.initBySkpt(item, skpt,ljList,dcFd);
addList.addAll(list);
}
}
int skbs=0;
try {
skbs=Integer.parseInt(item.getSkbs());
}catch (Exception ignored){}
if (skbs>0){
if (!sygdMxes.isEmpty()){
_index+=skbs;
if (_index>sygdMxes.size()){
_index=sygdMxes.size();
//throw new ServiceException(10009, StrUtil.format("船号:{},批次:{},三垮数控板数超过上料张数",item.getDcCh(),item.getDcPl()));
}
for (int i=start;i<_index;i++){
this.updateBySkbs(item,sygdMxes.get(i));
}
start+=skbs;
}else{
List<DmSygdMx> list = this.initBySkbs(item, skbs,ljList,dcFd);
addList.addAll(list);
}
}
this.saveBatch(addList);
ljList.forEach(lj-> addList.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);
}
});
}
private DmSygdMx initDefault(JhxfExcel item,String dcFd){
DmSygdMx dmSygdMx = new DmSygdMx();
dmSygdMx.setDcCh(item.getDcCh());
dmSygdMx.setDcPl(item.getDcPl());
dmSygdMx.setDcFd(dcFd);
dmSygdMx.setJssj(item.getFdxq());
if (item.getQwbBs()){
dmSygdMx.setQbs("1");
}
return dmSygdMx;
}
private List<DmSygdMx> initBySl(JhxfExcel item,List<DmSygdMxLj> bomList,String dcFd){
int slbs=0;
try {
slbs=Integer.parseInt(item.getBs1());
}catch (Exception ignored){}
List<DmSygdMx> addList=new ArrayList<>();
if (slbs>0){
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<slbs;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initBySl(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
}
return addList;
}
private List<DmSygdMx> initByYklm(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
List<DmSygdMx> addList=new ArrayList<>();
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<sl;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initByYklm(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
}
private List<DmSygdMx> initByYksk(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
List<DmSygdMx> addList=new ArrayList<>();
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<sl;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initByYksk(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
}
private List<DmSygdMx> initByEklmbs(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
List<DmSygdMx> addList=new ArrayList<>();
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<sl;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initByEklmbs(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
}
private List<DmSygdMx> initByEksk(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
List<DmSygdMx> addList=new ArrayList<>();
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<sl;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initByEksk(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
}
private List<DmSygdMx> initBySksk(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
List<DmSygdMx> addList=new ArrayList<>();
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<sl;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initBySksk(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
}
private List<DmSygdMx> initBySkpt(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
List<DmSygdMx> addList=new ArrayList<>();
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<sl;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initBySkpt(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
}
private List<DmSygdMx> initBySkbs(JhxfExcel item,int sl,List<DmSygdMxLj> bomList,String dcFd){
List<DmSygdMx> addList=new ArrayList<>();
if (bomList.isEmpty()){
DmSygdMx dmSygdMx = this.initDefault(item,dcFd);
addList.add(dmSygdMx);
return addList;
}
ArrayList<DmSygdMxLj> list = bomList.stream().collect(
Collectors.collectingAndThen(
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DmSygdMxLj::getUniqueData))), ArrayList::new)
);
for(int i=0;i<sl;i++){
if (i>=list.size()){
break;
}
DmSygdMx init = this.initBySkbs(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
}
private void updateByYklm(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("7");
dmSygdMx.setQgrq(item.getYkpkjs());
}
private void updateByYksk(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("8");
dmSygdMx.setQgrq(item.getYkpkjs());
}
private void updateByEklm(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("5");
dmSygdMx.setQgrq(item.getLmqgks());
}
private void updateByEksk(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("9");
dmSygdMx.setQgrq(item.getEkskks());
}
private void updateBySksk(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("14");
dmSygdMx.setQgrq(item.getSkskqgks());
dmSygdMx.setQgjs(item.getSkpkjs());
dmSygdMx.setQjgrq(item.getQptjs());
}
private void updateBySkpt(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("6");
dmSygdMx.setQgrq(item.getPtks());
}
private void updateBySkbs(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("15");
dmSygdMx.setQgrq(item.getPkqgjs());
}
private DmSygdMx initBySl(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
dmSygdMx.setSlrq(item.getSl());
dmSygdMx.setXcpw(item.getXcpw());
dmSygdMx.setPwrq(item.getPw());
return dmSygdMx;
}
private DmSygdMx initByYklm(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
this.updateByYklm(item,dmSygdMx);
return dmSygdMx;
}
private DmSygdMx initByYksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
this.updateByYksk(item,dmSygdMx);
return dmSygdMx;
}
private DmSygdMx initByEklmbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
this.updateByEklm(item,dmSygdMx);
return dmSygdMx;
}
private DmSygdMx initByEksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
this.updateByEksk(item,dmSygdMx);
return dmSygdMx;
}
private DmSygdMx initBySksk(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
this.updateBySksk(item,dmSygdMx);
return dmSygdMx;
}
private DmSygdMx initBySkpt(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
this.updateBySkpt(item,dmSygdMx);
return dmSygdMx;
}
private DmSygdMx initBySkbs(JhxfExcel item, DmSygdMxLj bom,String dcFd){
DmSygdMx dmSygdMx = DmSygdMx.ofWithDmSygdMxlj(bom);
dmSygdMx.setDcFd(dcFd);
this.updateBySkbs(item,dmSygdMx);
return dmSygdMx;
}
}

@ -6,16 +6,17 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.cron.CronUtil; import cn.hutool.cron.CronUtil;
import cn.hutool.cron.task.Task; import cn.hutool.cron.task.Task;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsic.gj_erp.bean.pgd.PgdQgjh; import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.xiaochi.CutPlan; import com.dsic.gj_erp.bean.xiaochi.CutPlan;
import com.dsic.gj_erp.bean.xiaochi.Device; import com.dsic.gj_erp.bean.xiaochi.Device;
import com.dsic.gj_erp.bean.xiaochi.XiaochiUser; import com.dsic.gj_erp.bean.xiaochi.XiaochiUser;
import com.dsic.gj_erp.mapper.xiaochi.CutPlanMapper; import com.dsic.gj_erp.mapper.xiaochi.CutPlanMapper;
import com.dsic.gj_erp.service.pgd.PgdQgjhService; import com.dsic.gj_erp.service.zyjh.ZyjhService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -24,14 +25,15 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class XiaoChiService{ public class XiaoChiService{
private final PgdQgjhService qgjhService; private final ZyjhService zyjhService;
private final CutPlanMapper mapper; private final CutPlanMapper mapper;
/** /**
* ,使, * ,使,
* *
*/ */
// @PostConstruct @PostConstruct
public void handler(){ public void handler(){
List<XiaochiUser> users = new XiaochiUser().selectAll(); List<XiaochiUser> users = new XiaochiUser().selectAll();
List<Device> devices=new Device().selectAll(); List<Device> devices=new Device().selectAll();
@ -40,50 +42,56 @@ public class XiaoChiService{
userMap.put(item.getEmployeeNumber(),item); userMap.put(item.getEmployeeNumber(),item);
}); });
Map<Integer,Device> deviceMap=new HashMap<>(); Map<Integer,Device> deviceMap=new HashMap<>();
devices.forEach(item->{ devices.forEach(item-> deviceMap.put(item.getId(),item));
deviceMap.put(item.getId(),item); this.exeAuto(userMap,deviceMap);
}); //this.exe(userMap,deviceMap);
this.exe(userMap,deviceMap);
} }
private void exe(Map<String, XiaochiUser> userMap,Map<Integer,Device> deviceMap){ private void exe(Map<String, XiaochiUser> userMap,Map<Integer,Device> deviceMap){
log.info("========小池同步开始==========="); log.info("========小池同步开始===========");
//todo sql查询时过滤划线数据
List<CutPlan> cutPlans = mapper.getCutPlanList(DateUtil.lastMonth().toString(),DateUtil.today()) List<CutPlan> cutPlans = mapper.getCutPlanList(DateUtil.lastMonth().toString(),DateUtil.today())
.stream().filter(item->StrUtil.isNotEmpty(item.getNestKakuyakuDate())).collect(Collectors.toList()); .stream().filter(item->StrUtil.isNotEmpty(item.getNestKakuyakuDate())).collect(Collectors.toList());
List<PgdQgjh> list=new ArrayList<>(); List<DmYdjh> list=new ArrayList<>();
cutPlans.forEach(item->{ cutPlans.forEach(item->{
PgdQgjh one = qgjhService.getOne(Wrappers.<PgdQgjh>lambdaQuery() DmYdjh one = zyjhService.getOne(Wrappers.<DmYdjh>lambdaQuery()
.eq(PgdQgjh::getCzbh, item.getNestExtC02()) .eq(DmYdjh::getDcCh, item.getNestExtC02())
.eq(PgdQgjh::getTlth, item.getNestNameSub1()) .eq(DmYdjh::getTzbh, item.getNestNameSub1())
.eq(PgdQgjh::getKw, item.getNestExtC03()) .eq(DmYdjh::getDcPl, item.getNestExtC04())
.eq(PgdQgjh::getPl, item.getNestExtC04())
); );
if (ObjectUtil.isNotEmpty(one)){ if (ObjectUtil.isNotEmpty(one)){
PgdQgjh _item=new PgdQgjh(); DmYdjh _item=new DmYdjh();
_item.setId(one.getId()); _item.setId(one.getId());
Optional.of(userMap.get(item.getNestExtC05())) if (item.getNestCutLengs()>0){
.ifPresent(user-> _item.setFkry(userMap.get(item.getNestExtC05()).getName())); Optional.of(userMap.get(item.getNestExtC05()))
.ifPresent(user-> {
_item.setQgfkry(userMap.get(item.getNestExtC05()).getEmployeeNumber());
});
_item.setQgpgrq(item.getQgkssj());
_item.setQgfkrq(item.getQgjssj());
_item.setZtForQGFK();
}
if (item.getNestMarkLengs()>0){
Optional.of(userMap.get(item.getNestExtC05()))
.ifPresent(user-> {
_item.setHxfkry(userMap.get(item.getNestExtC05()).getEmployeeNumber());
Optional.of(deviceMap.get(item.getNestCutHo())) });
.ifPresent(user-> _item.setQgsbbh(deviceMap.get(item.getNestCutHo()).getMachineName())); _item.setHxpgrq(item.getQgkssj());
_item.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss")); _item.setHxfkrq(item.getQgjssj());
_item.setQgksrq(item.getQgkssj()); _item.setZtForHXFK();
if (StrUtil.isNotEmpty(item.getQgjssj())){
_item.setQgjsrq(item.getQgjssj());
_item.setZt("09");
} }
list.add(_item); list.add(_item);
} }
}); });
qgjhService.updateBatchById(list,500); zyjhService.updateBatchById(list,500);
log.info("========小池同步完成==========="); log.info("========小池同步完成===========");
} }
private void exeAuto(Map<String, XiaochiUser> userMap,Map<Integer,Device> deviceMap){ private void exeAuto(Map<String, XiaochiUser> userMap,Map<Integer,Device> deviceMap){
//CronUtil默认为分钟,目前未使用CronUtil.setMatchSecond(true)启动秒级任务,以下表示每30分钟执行一次 //CronUtil默认为分钟,目前未使用CronUtil.setMatchSecond(true)启动秒级任务,以下表示每30分钟执行一次
//每30分钟执行一次,获取小池今日加工并且未更新切割计划派工单的数据去更新派工单 //每30分钟执行一次,获取小池今日加工并且未更新切割计划派工单的数据去更新派工单
CronUtil.schedule("*/30 * * * * *", (Task) () -> { CronUtil.schedule("* */10 * * * *", (Task) () -> {
this.exe(userMap,deviceMap); this.exe(userMap,deviceMap);
}); });
CronUtil.start(); CronUtil.start();

@ -596,4 +596,18 @@
<select id="getOne" resultType="com.dsic.gj_erp.bean.jhgk.DmSygdMx"> <select id="getOne" resultType="com.dsic.gj_erp.bean.jhgk.DmSygdMx">
select * from dm_sygd_mx where dc_ch=#{dcch} and dc_pl=#{dcpl} select * from dm_sygd_mx where dc_ch=#{dcch} and dc_pl=#{dcpl}
</select> </select>
<select id="getUniBom" resultType="com.dsic.gj_erp.bean.jcsj.DmBom">
select * from (
select
*,row_number() over (partition by dcch,pl,fd,tzbh order by dcch,pl,fd,tzbh) rn
from dm_bom
where dcch=#{dcCh} and pl=#{dcPl} and fd=#{dcFd}
) a
where a.rn=1
</select>
<select id="getBom" resultType="com.dsic.gj_erp.bean.jcsj.DmBom">
select * from dm_bom where dcch=#{dcch} and pl=#{pl} and fd=#{fd}
</select>
</mapper> </mapper>

@ -169,4 +169,70 @@
ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD
</select> </select>
<select id="getSygdLjMx1" 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,
bc.sfyl ylbs,
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
left join
(select
dc_ch,dc_pl,tzbh,sfyl,rn
from
(select dc_ch,dc_pl,tzbh,sfyl,
ROW_NUMBER() over(PARTITION by dc_ch ,dc_pl,tzbh order by tzbh) rn from dm_bchxylp) a where a.rn=1) bc
on dm_bom.dcch =bc.dc_ch and dm_bom.pl =bc.dc_pl and dm_bom.tzbh =bc.tzbh
where
dm_bom.type = 'b' and dm_sygdxq.dc_ch=#{dcch} and dm_sygdxq.dc_pl=#{pl} and dm_sygdxq.dc_fd=#{fd}
ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD
</select>
</mapper> </mapper>

@ -4,25 +4,24 @@
<select id="getCutPlanList" resultType="cutPlan"> <select id="getCutPlanList" resultType="cutPlan">
SELECT SELECT
nest_kakuyaku_date,nest_kakuyaku_time,nest_sintyoku,nest_cut_lengs,nest_mark_lengs,nest_tumikomi_date,nest_tumikomi_time,
left(a.nest_ext_c02,datalength(a.nest_ext_c02)-1) as 'nest_ext_c02', left(a.nest_ext_c02,datalength(a.nest_ext_c02)-1) as 'nest_ext_c02',
a.nest_ext_c04 as 'nest_ext_c04', a.nest_ext_c04 as 'nest_ext_c04',
left(a.nest_name_sub1,charindex('_',a.nest_name_sub1,1)-1) as 'nest_name_sub1', left(a.nest_name_sub1,charindex('_',a.nest_name_sub1,1)-1) as 'nest_name_sub1',nest_name_sub1 th,
a.nest_ext_c03 as 'nest_ext_c03', a.nest_ext_c03 as 'nest_ext_c03',
a.nest_ext_c05 as 'nest_ext_c05', a.nest_ext_c05 as 'nest_ext_c05',
a.nest_cut_ho as 'nest_cut_ho' a.nest_cut_ho as 'nest_cut_ho'
FROM tbl_nest_mast a FROM tbl_nest_mast a
WHERE WHERE
isnull(a.nest_ext_c02,'') != '' and a.nest_kakuyaku_date between #{st} and #{ed} and nest_cut_lengs>0 isnull(a.nest_ext_c02,'') != '' and a.nest_kakuyaku_date between #{st} and #{ed}
and not EXISTS( and (nest_cut_lengs>0 or nest_mark_lengs>0)
select b.czbh as nest_ext_c02,b.kw as nest_ext_c03 ,b.pl as nest_ext_c04 and EXISTS(
from pgd_qgjh b select b.dc_ch as nest_ext_c02,b.dc_pl as nest_ext_c04,left(a.nest_name_sub1,datalength(a.nest_name_sub1)-1) as nest_name_sub1
where from dm_ydjh b
b.czbh=left(a.nest_ext_c02,datalength(a.nest_ext_c02)-1) where
and b.tlth=a.nest_name_sub1 b.dc_ch=left(a.nest_ext_c02,datalength(a.nest_ext_c02)-1)
and b.kw=a.nest_ext_c03 and b.tzbh=left(a.nest_name_sub1,charindex('_',a.nest_name_sub1,1)-1)
and b.pl=a.nest_ext_c04 and b.dc_pl=a.nest_ext_c04 and (isnull(b.qgfkrq,'')='' or b.qgfkrq&lt;(a.nest_tumikomi_date+' '+nest_tumikomi_time)))
and (b.qgksrq is null or qgjsrq is null )
)
</select> </select>
<update id="synBom_qgPgd" statementType="CALLABLE"> <update id="synBom_qgPgd" statementType="CALLABLE">

@ -2,4 +2,18 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!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.xiaochi.DeviceMapper"> <mapper namespace="com.dsic.gj_erp.mapper.xiaochi.DeviceMapper">
<select id="getDeviceStatus" resultType="map">
SELECT * from (
SELECT
a.id,nest_sintyoku zt,a.machine_name name,
nest_kakuyaku_date beginDate,nest_kakuyaku_time beginTime,
nest_tumikomi_date overDate,nest_tumikomi_time overTime,
case when isnull(b.nest_ext_c02,'')!='' then left(b.nest_ext_c02,datalength(b.nest_ext_c02)-1) else b.nest_ext_c02 end dcCh,
nest_ext_c04 dcPl,
case when isnull(b.nest_name_sub1,'')!='' then left(b.nest_name_sub1,datalength(b.nest_name_sub1)-2) else b.nest_name_sub1 end tzbh,
ROW_NUMBER() over(PARTITION by a.id order by a.id ,b.nest_kakuyaku_time desc) rn from iot_m_machine a left join tbl_nest_mast b on a.id=b.nest_cut_ho and nest_kakuyaku_date=CONVERT(DATE, GETDATE())
) a
where a.rn=1
order by a.id
</select>
</mapper> </mapper>

Loading…
Cancel
Save