1.小池同步

2.月度计划导入
master
董哲奇 5 months ago
parent 56ad08b889
commit a1a7104d42

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

@ -392,6 +392,13 @@ public class DmYdjh implements Serializable {
public void setZtForSl(){
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(){
return ZyjhzxEnum.SLFK.code;
}

@ -1,5 +1,6 @@
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.format.DateTimeFormat;
import io.swagger.annotations.ApiModelProperty;
@ -204,4 +205,11 @@ public class JhxfExcel {
@ExcelProperty("备注")
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);
}
}

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

@ -46,18 +46,18 @@ public class ExcelJhxfListener extends AnalysisEventListener<JhxfExcel> {
}
boolean a=false;
// 9个数量都为空 不导入
if(StringUtils.isBlank(excelDemo.getBs1()) &&
StringUtils.isBlank(excelDemo.getYklm())&&
StringUtils.isBlank(excelDemo.getYksk())&&
StringUtils.isBlank(excelDemo.getEklmbs())&&
StringUtils.isBlank(excelDemo.getEksk())&&
StringUtils.isBlank(excelDemo.getSksk())&&
StringUtils.isBlank(excelDemo.getSkpt())&&
StringUtils.isBlank(excelDemo.getFbbs())&&
StringUtils.isBlank(excelDemo.getSkbs())
){
a=true;
}
// if(StringUtils.isBlank(excelDemo.getBs1()) &&
// StringUtils.isBlank(excelDemo.getYklm())&&
// StringUtils.isBlank(excelDemo.getYksk())&&
// StringUtils.isBlank(excelDemo.getEklmbs())&&
// StringUtils.isBlank(excelDemo.getEksk())&&
// StringUtils.isBlank(excelDemo.getSksk())&&
// StringUtils.isBlank(excelDemo.getSkpt())&&
// StringUtils.isBlank(excelDemo.getFbbs())&&
// StringUtils.isBlank(excelDemo.getSkbs())
// ){
// a=true;
// }
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.dsic.gj_erp.bean.jcsj.DmBom;
import com.dsic.gj_erp.bean.jcsj.EmGcrlDto;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmSygdMxLj;
@ -42,4 +43,8 @@ public interface DmSygdMxMapper extends BaseMapper<DmSygdMx> {
List<DmSygdxq> getGlgdxq(DmSygdMx sygdMx);
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> getSygdLjMx1(String dcch,String pl,String fd);
}

@ -994,14 +994,26 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
}
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()
.eq(StrUtil.isNotEmpty(zt),DmSygdMx::getZt,zt)
.between(DmSygdMx::getJssj, begin, end)
.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<>();
//按批次合并为一行
collect.forEach((key,val)->{
@ -1010,6 +1022,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
DmYdjhxf dmYdjhxf = new DmYdjhxf();
dmYdjhxf.setDcCh(key.split("_")[0]);
dmYdjhxf.setDcPl(key.split("_")[1]);
if (qflag){
dmYdjhxf.setDcPl(dmYdjhxf.getDcPl()+"Q");
}
AtomicReference<Integer> bs= 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());
plSet.add(item.getDcFd());
if (slkw.contains(item.getKw())){
bs.updateAndGet(v -> v + 1);
}
@ -1064,8 +1080,8 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
//型材抛丸日期
val.stream().filter(item -> "16".equals(item.getKw()))
.filter(item->StrUtil.isNotEmpty(item.getSlrq()))
.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()))
@ -1073,7 +1089,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
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()+"");
@ -1098,6 +1114,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
val.stream().filter(item->"14".equals(item.getKw()))
.filter(item->StrUtil.isNotEmpty(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()+"");
val.stream().filter(item -> "6".equals(item.getKw()))
@ -1125,7 +1144,7 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
dmYdjhxf.setFdxq(val.get(0).getJssj());
list2.add(dmYdjhxf);
});
return list2.stream().sorted(Comparator.comparing(item->item.getDcCh()+item.getDcPl())).collect(Collectors.toList());
return list2;
}
@Transactional
@ -1170,7 +1189,6 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
return this.tqSygd2(begin,end,null);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void ydjhImport(List<JhxfExcel> objList) {
@ -1393,6 +1411,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
if(yklm>0){
zz=yklm;
for (int j = 0; j < yklm; j++) {
if (j>=insertsOne.size()){
break;
}
// 生成数据
insertsOne.get(j).setKw("7");
insertsOne.get(j).setQgrq(jhxfExcel.getYkpkjs());
@ -1412,6 +1433,9 @@ public class DmSygdMxServiceImpl extends ServiceImpl<DmSygdMxMapper, DmSygdMx> i
if(yksk>0){
for (int j = 0; j <yksk; j++) {
// 生成数据
if (j>=insertsOne.size()){
break;
}
insertsOne.get(zz+j).setKw("8");
insertsOne.get(zz+j).setQgrq(jhxfExcel.getYkpkjs());
zsl++;

@ -323,6 +323,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initBySl(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
}
@ -345,6 +348,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initByYklm(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
@ -366,6 +372,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initByYksk(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
@ -387,6 +396,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initByEklmbs(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
@ -408,6 +420,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initByEksk(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
@ -429,6 +444,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initBySksk(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
@ -450,6 +468,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initBySkpt(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
@ -471,6 +492,9 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
break;
}
DmSygdMx init = this.initBySkbs(item,list.get(i),dcFd);
if (item.getQwbBs()){
init.setQbs("1");
}
addList.add(init);
}
return addList;
@ -499,6 +523,7 @@ public class YdjhImportService extends ServiceImpl<DmSygdMxMapper, DmSygdMx> {
private void updateBySksk(JhxfExcel item, DmSygdMx dmSygdMx){
dmSygdMx.setKw("14");
dmSygdMx.setQgrq(item.getSkskqgks());
dmSygdMx.setQgjs(item.getSkpkjs());
dmSygdMx.setQjgrq(item.getQptjs());
}

@ -7,18 +7,16 @@ import cn.hutool.cron.CronUtil;
import cn.hutool.cron.task.Task;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.bean.pgd.PgdQgjh;
import com.dsic.gj_erp.bean.xiaochi.CutPlan;
import com.dsic.gj_erp.bean.xiaochi.Device;
import com.dsic.gj_erp.bean.xiaochi.XiaochiUser;
import com.dsic.gj_erp.mapper.xiaochi.CutPlanMapper;
import com.dsic.gj_erp.mapper.xiaochi.DeviceMapper;
import com.dsic.gj_erp.service.pgd.PgdQgjhService;
import com.dsic.gj_erp.service.zyjh.ZyjhService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.*;
import java.util.stream.Collectors;
@ -35,7 +33,7 @@ public class XiaoChiService{
* ,使,
*
*/
// @PostConstruct
@PostConstruct
public void handler(){
List<XiaochiUser> users = new XiaochiUser().selectAll();
List<Device> devices=new Device().selectAll();
@ -45,7 +43,8 @@ public class XiaoChiService{
});
Map<Integer,Device> deviceMap=new HashMap<>();
devices.forEach(item-> deviceMap.put(item.getId(),item));
this.exe(userMap,deviceMap);
this.exeAuto(userMap,deviceMap);
//this.exe(userMap,deviceMap);
}
private void exe(Map<String, XiaochiUser> userMap,Map<Integer,Device> deviceMap){
@ -57,34 +56,42 @@ public class XiaoChiService{
DmYdjh one = zyjhService.getOne(Wrappers.<DmYdjh>lambdaQuery()
.eq(DmYdjh::getDcCh, item.getNestExtC02())
.eq(DmYdjh::getTzbh, item.getNestNameSub1())
.eq(DmYdjh::getKw, item.getNestExtC03())
.eq(DmYdjh::getDcPl, item.getNestExtC04())
);
// if (ObjectUtil.isNotEmpty(one)){
// DmYdjh _item=new DmYdjh();
// _item.setId(one.getId());
// Optional.of(userMap.get(item.getNestExtC05()))
// .ifPresent(user-> _item.setFkry(userMap.get(item.getNestExtC05()).getName()));
//
// Optional.of(deviceMap.get(item.getNestCutHo()))
// .ifPresent(user-> _item.setQgsbbh(deviceMap.get(item.getNestCutHo()).getMachineName()));
// _item.setFkrq(DateUtil.format(DateUtil.date(), "yyyy/MM/dd HH:mm:ss"));
// _item.setQgksrq(item.getQgkssj());
// if (StrUtil.isNotEmpty(item.getQgjssj())){
// _item.setQgjsrq(item.getQgjssj());
// _item.setZt("09");
// }
// list.add(_item);
// }
if (ObjectUtil.isNotEmpty(one)){
DmYdjh _item=new DmYdjh();
_item.setId(one.getId());
if (item.getNestCutLengs()>0){
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());
});
_item.setHxpgrq(item.getQgkssj());
_item.setHxfkrq(item.getQgjssj());
_item.setZtForHXFK();
}
list.add(_item);
}
});
// qgjhService.updateBatchById(list,500);
zyjhService.updateBatchById(list,500);
log.info("========小池同步完成===========");
}
private void exeAuto(Map<String, XiaochiUser> userMap,Map<Integer,Device> deviceMap){
//CronUtil默认为分钟,目前未使用CronUtil.setMatchSecond(true)启动秒级任务,以下表示每30分钟执行一次
//每30分钟执行一次,获取小池今日加工并且未更新切割计划派工单的数据去更新派工单
CronUtil.schedule("* */30 * * * *", (Task) () -> {
CronUtil.schedule("* */10 * * * *", (Task) () -> {
this.exe(userMap,deviceMap);
});
CronUtil.start();

@ -596,4 +596,18 @@
<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>
<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>

@ -169,4 +169,70 @@
ORDER BY dm_sygdxq.xzglxq,dm_sygdxq.DC_CH,dm_sygdxq.DC_PL,dm_bom.TZBH,dm_sygdxq.DC_FD
</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>

@ -4,24 +4,24 @@
<select id="getCutPlanList" resultType="cutPlan">
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',
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_c05 as 'nest_ext_c05',
a.nest_cut_ho as 'nest_cut_ho'
FROM tbl_nest_mast a
WHERE
isnull(a.nest_ext_c02,'') != '' and a.nest_kakuyaku_date between #{st} and #{ed} and nest_cut_lengs>0
and not EXISTS(
select b.dc_ch as nest_ext_c02,b.kw as nest_ext_c03 ,b.dc_pl as nest_ext_c04
from dm_ydjh b
where
b.dc_ch=left(a.nest_ext_c02,datalength(a.nest_ext_c02)-1)
and b.tzbh=a.nest_name_sub1
and b.kw=a.nest_ext_c03
and b.dcpl=a.nest_ext_c04
)
isnull(a.nest_ext_c02,'') != '' and a.nest_kakuyaku_date between #{st} and #{ed}
and (nest_cut_lengs>0 or nest_mark_lengs>0)
and EXISTS(
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
from dm_ydjh b
where
b.dc_ch=left(a.nest_ext_c02,datalength(a.nest_ext_c02)-1)
and b.tzbh=left(a.nest_name_sub1,charindex('_',a.nest_name_sub1,1)-1)
and b.dc_pl=a.nest_ext_c04 and (isnull(b.qgfkrq,'')='' or b.qgfkrq&lt;(a.nest_tumikomi_date+' '+nest_tumikomi_time)))
</select>
<update id="synBom_qgPgd" statementType="CALLABLE">

Loading…
Cancel
Save