1.更新一些内容

master
董哲奇 8 months ago
parent 2830cc5608
commit 3f6611d5f9

@ -95,4 +95,7 @@ public class DmSygdxq implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private List<DmBom> bomList; private List<DmBom> bomList;
@TableField(exist = false)
private String mbcz;//目标船
} }

@ -321,7 +321,9 @@ public class DmYdjhLj implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private String lljhrq; // 理料计划日期 private String lljhrq; // 理料计划日期
public boolean checkZt(){
return !"03".equals(this.pkZt)||!"03".equals(this.qjgZt)||!"03".equals(this.dmZt);
}

@ -45,19 +45,7 @@ public class PgdQmjhController {
@PostMapping("pg") @PostMapping("pg")
public ResultBean<?> pg(@RequestBody List<DmYdjhLj> list){ public ResultBean<?> pg(@RequestBody List<DmYdjhLj> list){
String date = DateUtil.date().toString("yyyy/MM/dd"); pgdQmjhService.pg(list);
list.forEach(item->{
if ("Y".equals(item.getPkbs())){
item.setPkXfrq(date);
}
if ("Y".equals(item.getQbs())){
item.setQjgXfrq(date);
}
if ("Y".equals(item.getDmbs())){
item.setDmXfrq(date);
}
});
dmYdjhLjService.updateBatchById(list);
return new ResultBean<>(); return new ResultBean<>();
} }

@ -22,10 +22,13 @@ public class YuyinController {
* websocket * websocket
*/ */
@GetMapping("recon") @GetMapping("recon")
public ResultBean<?> recon(){ public ResultBean<?> recon() throws Exception {
WebSocketSession session = socketService.getSession(); WebSocketSession session = socketService.getSession();
if (session==null){ if (session==null){
clientComponent.init(); clientComponent.init();
}else {
socketService.disconnect();
clientComponent.init();
} }
return new ResultBean<>(); return new ResultBean<>();
} }

@ -19,6 +19,7 @@ import java.util.List;
*/ */
public interface DmSygdxqMapper extends BaseMapper<DmSygdxq> { public interface DmSygdxqMapper extends BaseMapper<DmSygdxq> {
List<DmSygdxq> getXqWithBom2(String from,String to,String dcch,String pl);
List<DmSygdxq> getXqWithBom(String from,String to,String dcch,String pl); List<DmSygdxq> getXqWithBom(String from,String to,String dcch,String pl);
List<DmSygdMxLj> getSygdLjMx(String begin,String end); List<DmSygdMxLj> getSygdLjMx(String begin,String end);

@ -19,4 +19,5 @@ public interface DmSygdxqService extends IService<DmSygdxq> {
void saveDzList(List<DmSygdxq> list, String username, String day); void saveDzList(List<DmSygdxq> list, String username, String day);
List<DmSygdxq> getXqWithBom(String from, String to); List<DmSygdxq> getXqWithBom(String from, String to);
List<DmSygdxq> getXqWithBom2(String from, String to);
} }

@ -7,12 +7,17 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil; import cn.hutool.core.util.ObjUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsic.gj_erp.bean.jcsj.DmBom;
import com.dsic.gj_erp.bean.jcsj.DmCbxxp;
import com.dsic.gj_erp.bean.jhgk.DmSygdMx; import com.dsic.gj_erp.bean.jhgk.DmSygdMx;
import com.dsic.gj_erp.bean.jhgk.DmSygdxq; import com.dsic.gj_erp.bean.jhgk.DmSygdxq;
import com.dsic.gj_erp.bean.jhgk.DmSygdxqOld; import com.dsic.gj_erp.bean.jhgk.DmSygdxqOld;
import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper; import com.dsic.gj_erp.mapper.jhgk.DmSygdxqMapper;
import com.dsic.gj_erp.service.jcsj.DmBomService; import com.dsic.gj_erp.service.jcsj.DmBomService;
import com.dsic.gj_erp.service.jcsj.DmCbxxpService;
import com.dsic.gj_erp.service.jcsj.impl.DmBomServiceImpl;
import com.dsic.gj_erp.service.jhgk.DmSygdMxService; import com.dsic.gj_erp.service.jhgk.DmSygdMxService;
import com.dsic.gj_erp.service.jhgk.DmSygdxqOldService; import com.dsic.gj_erp.service.jhgk.DmSygdxqOldService;
import com.dsic.gj_erp.service.jhgk.DmSygdxqService; import com.dsic.gj_erp.service.jhgk.DmSygdxqService;
@ -21,6 +26,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.Optional;
/** /**
* <p> * <p>
@ -39,6 +45,11 @@ public class DmSygdxqServiceImpl extends ServiceImpl<DmSygdxqMapper, DmSygdxq> i
DmSygdMxService sygdMxService; DmSygdMxService sygdMxService;
@Autowired @Autowired
DmBomService bomService; DmBomService bomService;
@Autowired
DmCbxxpService dmCbxxpService;
@Autowired
private DmBomServiceImpl dmBomServiceImpl;
@Override @Override
@Transactional @Transactional
public void saveXzList(List<DmSygdxq> list,String username,String day){ public void saveXzList(List<DmSygdxq> list,String username,String day){
@ -133,8 +144,35 @@ public class DmSygdxqServiceImpl extends ServiceImpl<DmSygdxqMapper, DmSygdxq> i
return t(from,to,"",""); return t(from,to,"","");
} }
@Override
public List<DmSygdxq> getXqWithBom2(String from, String to) {
return t2(from,to,"","");
}
private List<DmSygdxq> t(String from, String to,String dcch,String pl){ private List<DmSygdxq> t(String from, String to,String dcch,String pl){
return baseMapper.getXqWithBom(from,to,dcch,pl); List<DmSygdxq> xqWithBom = baseMapper.getXqWithBom(from, to, dcch, pl);
for (DmSygdxq xq : xqWithBom) {
if (ObjUtil.isEmpty(xq.getBomList())){
//从系列船取bom
//获取系列船信息
DmCbxxp one = dmCbxxpService.getOne(Wrappers.<DmCbxxp>lambdaQuery()
.eq(DmCbxxp::getCbbm, xq.getDcCh())
);
Optional.ofNullable(one).ifPresent(item->{
List<DmBom> bomList = bomService.list(Wrappers.<DmBom>lambdaQuery()
.eq(DmBom::getDcch, xq.getDcCh())
.eq(DmBom::getPl, xq.getDcPl())
.eq(DmBom::getFd, xq.getDcFd())
);
xq.setBomList(bomList);
});
}
}
return xqWithBom;
}
private List<DmSygdxq> t2(String from, String to,String dcch,String pl){
return baseMapper.getXqWithBom2(from,to,dcch,pl);
} }
//零件信息 //零件信息

@ -20,6 +20,7 @@ import java.util.Map;
*/ */
public interface PgdQmjhService extends IService<PgdQmjh> { public interface PgdQmjhService extends IService<PgdQmjh> {
void pg(List<DmYdjhLj> list);
void saveQmPgdJs(List<DmYdjhLj> qmjhs, HttpServletRequest request); void saveQmPgdJs(List<DmYdjhLj> qmjhs, HttpServletRequest request);
void saveQmPgdXd(List<DmYdjhLj> qmjhs, HttpServletRequest request); void saveQmPgdXd(List<DmYdjhLj> qmjhs, HttpServletRequest request);
void saveQmPgdFk(List<DmYdjhLj> qmjhs, HttpServletRequest request); void saveQmPgdFk(List<DmYdjhLj> qmjhs, HttpServletRequest request);

@ -1,6 +1,7 @@
package com.dsic.gj_erp.service.pgd.impl; package com.dsic.gj_erp.service.pgd.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dsic.gj_erp.bean.jhgk.DmYdjhLj; import com.dsic.gj_erp.bean.jhgk.DmYdjhLj;
@ -42,6 +43,44 @@ public class PgdQmjhServiceImpl extends ServiceImpl<PgdQmjhMapper, PgdQmjh> impl
@Autowired @Autowired
SYService syService; SYService syService;
@Transactional(rollbackFor = Exception.class)
public void pg(List<DmYdjhLj> list){
String date = DateUtil.date().toString("yyyy/MM/dd");
list.stream().filter(DmYdjhLj::checkZt)
.forEach(item->{
if ("Y".equals(item.getPkbs())){
if (StrUtil.isEmpty(item.getPgdh())){
String gdh = syService.f_getpjh("MM", "00", "LJLJ");
item.setPgdh(gdh);
}
item.setPkXfrq(date);
}else{
item.setPkXfrq("");
}
if ("Y".equals(item.getQbs())){
if (StrUtil.isEmpty(item.getQgdh())){
String gdh = syService.f_getpjh("MM", "00", "LJLJ");
item.setQgdh(gdh);
}
item.setQjgXfrq(date);
}else{
item.setQjgXfrq("");
}
if ("Y".equals(item.getDmbs())){
if (StrUtil.isEmpty(item.getDgdh())){
String gdh = syService.f_getpjh("MM", "00", "LJLJ");
item.setDgdh(gdh);
}
item.setDmXfrq(date);
}else{
item.setDmXfrq("");
}
});
dmYdjhLjService.updateBatchById(list);
}
@Override @Override
public void saveQmPgdJs(List<DmYdjhLj> qmjhs, HttpServletRequest request) { public void saveQmPgdJs(List<DmYdjhLj> qmjhs, HttpServletRequest request) {
List<DmYdjhLj>ups= new ArrayList<>(); List<DmYdjhLj>ups= new ArrayList<>();

@ -38,6 +38,10 @@ public class WsHandler {
} }
} }
public void tip(JSONObject object){
socketIOServer.getBroadcastOperations().sendEvent("tip", object);
}
public void zyjhzx(JSONObject object){ public void zyjhzx(JSONObject object){
socketIOServer.getBroadcastOperations().sendEvent("zyjhzx", object); socketIOServer.getBroadcastOperations().sendEvent("zyjhzx", object);
} }

@ -1,5 +1,6 @@
package com.dsic.gj_erp.wsclient; package com.dsic.gj_erp.wsclient;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.annotation.JSONField;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -16,6 +17,7 @@ public class Message {
private CodeEnum codeEx; private CodeEnum codeEx;
@JSONField(serialize = false) @JSONField(serialize = false)
private Instructions instructions; private Instructions instructions;
private long receiveTime= DateUtil.date().getTime();//毫秒级别
public CodeEnum getCodeEx(){ public CodeEnum getCodeEx(){
if (this.codeEx==null){ if (this.codeEx==null){

@ -1,6 +1,7 @@
package com.dsic.gj_erp.wsclient; package com.dsic.gj_erp.wsclient;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dsic.gj_erp.wsclient.handler.TipHandler;
import com.dsic.gj_erp.wsclient.handler.ZxHandler; import com.dsic.gj_erp.wsclient.handler.ZxHandler;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -21,6 +22,7 @@ public class WebSocketService extends TextWebSocketHandler {
private final WebSocketClient client; private final WebSocketClient client;
private final ZxHandler zxHandler; private final ZxHandler zxHandler;
private final TipHandler tipHandler;
public void connect(String uri) { public void connect(String uri) {
@ -55,6 +57,9 @@ public class WebSocketService extends TextWebSocketHandler {
case REG: case REG:
log.info("设备{},连接成功",msg.getMsg().getDeviceId()); log.info("设备{},连接成功",msg.getMsg().getDeviceId());
break; break;
case TIP:
tipHandler.execute(msg);
break;
case ZX: case ZX:
zxHandler.execute(msg); zxHandler.execute(msg);
break; break;

@ -5,7 +5,9 @@ import cn.hutool.cron.task.Task;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.dsic.gj_erp.wsclient.Message; import com.dsic.gj_erp.wsclient.Message;
import com.dsic.gj_erp.wsclient.WebSocketService; import com.dsic.gj_erp.wsclient.WebSocketService;
import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
@ -16,16 +18,31 @@ public class HeartHandler implements IHandlerService{
private boolean scheduleStartFlag=false; private boolean scheduleStartFlag=false;
@Value("${ws.client.url}")
private String url;
@Getter
@Value("${ws.client.id}")
private String erpId;
@Override @Override
public boolean execute(Message message) { public boolean execute(Message message) {
if (this.scheduleStartFlag){ if (this.scheduleStartFlag){
return true; return true;
} }
CronUtil.schedule("*/30 * * * * *", (Task) () -> { CronUtil.schedule("*/10 * * * * *", (Task) () -> {
try { try {
System.out.println("心跳"); System.out.println("心跳");
webSocketService.sendMessage(message.toString()); webSocketService.sendMessage(message.toString());
} catch (Exception e) { } catch (Exception e) {
if (webSocketService.getSession()==null){
webSocketService.connect(this.url);
try {
webSocketService.sendMessage(Message.reg(this.erpId).toString());
} catch (Exception ex) {
throw new RuntimeException(ex);
}
}
e.printStackTrace(); e.printStackTrace();
} }
}); });

@ -0,0 +1,23 @@
package com.dsic.gj_erp.wsclient.handler;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.dsic.gj_erp.bean.jhgk.DmYdjh;
import com.dsic.gj_erp.service.jhgk.DmYdjhService;
import com.dsic.gj_erp.ws.WsHandler;
import com.dsic.gj_erp.wsclient.Message;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@AllArgsConstructor
public class TipHandler implements IHandlerService{
private final WsHandler wsHandler;
@Override
public boolean execute(Message message) {
wsHandler.tip(message.toJson());
return true;
}
}

@ -9,6 +9,8 @@ import com.dsic.gj_erp.wsclient.Message;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Optional;
@Service @Service
@AllArgsConstructor @AllArgsConstructor
public class ZxHandler implements IHandlerService{ public class ZxHandler implements IHandlerService{
@ -20,11 +22,12 @@ public class ZxHandler implements IHandlerService{
public boolean execute(Message message) { public boolean execute(Message message) {
String djh=message.getMsg().getOrderNumber(); String djh=message.getMsg().getOrderNumber();
DmYdjh one = ydjhService.getOne(Wrappers.<DmYdjh>lambdaQuery().eq(DmYdjh::getDjh, djh)); DmYdjh one = ydjhService.getOne(Wrappers.<DmYdjh>lambdaQuery().eq(DmYdjh::getDjh, djh));
JSONObject object=new JSONObject(); Optional.ofNullable(one).ifPresent(item->{
object.put("zyjh",one); JSONObject object=new JSONObject();
object.put("zt",one.getZt()); object.put("zyjh",one);
wsHandler.zyjhzx(object); object.put("zt",one.getZt());
wsHandler.zyjhzx(object);
});
return true; return true;
} }
} }

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

@ -64,6 +64,43 @@
where a.rn=1 where a.rn=1
order by a.xzglxq order by a.xzglxq
</select> </select>
<select id="getXqWithBom2" resultMap="sqgdxqVo">
select * from
(select
xq.id,
xq.dc_ch,
xq.dc_pl,
xq.dc_fd,
xq.xzglxq,
xq.dzglxq,
bom.id as bom_id,
bom.dcch as bom_dcch,
bom.mbch as bom_mbch,
bom.pl as bom_pl,
bom.fd as bom_fd,
bom.kw as bom_kw,
bom.zl as bom_zl,
bom.tzbh as bom_tzbh,
bom.wpgg as bom_wpgg,
bom.wpcz as bom_wpcz,
bom.ljsl as bom_ljsl,
bom.fkgs as bom_fkgs,
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.sczbh and bom.pl = xq.DC_PL and bom.fd = xq.DC_FD
where
xq.xzglxq between #{from} and #{to} and bom.type='b'
<if test="dcch!=null and dcch!=''">
and xq.DC_CH=#{dcch}
</if>
<if test="pl!=null and pl!=''">
and bom.pl=#{pl}
</if>
) a
where a.rn=1
order by a.xzglxq
</select>
<select id="getSygdLjMx" resultType="dmSygdMxLj"> <select id="getSygdLjMx" resultType="dmSygdMxLj">
SELECT SELECT

@ -166,14 +166,14 @@
dm_ydjh.dc_pl= dm_ydjh_lj.fd dm_ydjh.dc_pl= dm_ydjh_lj.fd
where 1=1 where 1=1
<if test=" qjgry!=null and qjgry!=''"> <if test=" qscry!=null and qscry!=''">
and dm_ydjh_lj.pkry=#{pkry} and dm_ydjh_lj.qscry=#{qscry}
</if> </if>
<if test=" pkry!=null and pkry!=''"> <if test=" pscry!=null and pscry!=''">
and dm_ydjh_lj.pkry=#{pkry} and dm_ydjh_lj.pscry=#{pscry}
</if> </if>
<if test=" dmry!=null and dmry!=''"> <if test=" dscry!=null and dscry!=''">
and dm_ydjh_lj.dmry=#{dmry} and dm_ydjh_lj.dscry=#{dscry}
</if> </if>
<if test=" qbs!=null and qbs!=''"> <if test=" qbs!=null and qbs!=''">
and dm_ydjh_lj.qbs=#{qbs} and dm_ydjh_lj.qbs=#{qbs}

Loading…
Cancel
Save