Leon 4 years ago
commit 4da4205cbb

@ -133,8 +133,8 @@ public class AbnormalPlanController {
return R.ok(abnormalPlanService.findAbnormalPlan(abnormalPlanDto));
}
@GetMapping("/processes")
public R processes(List<AbnormalPlan> abnormalPlanList){
@PostMapping("/processes")
public R processes(@RequestBody List<AbnormalPlan> abnormalPlanList){
abnormalPlanService.processes(abnormalPlanList);
return R.ok();
}

@ -135,7 +135,7 @@ public class AbnormalBillLogServiceImpl extends ServiceImpl<AbnormalBillLogMappe
}
}
List<String> ncGroups =new ArrayList<>();
if(!StringUtil.isBlank(ncGroup.toString().toString())){
if(!StringUtil.isBlank(ncGroup.toString())){
ncGroup = new StringBuilder(ncGroup.substring(0, ncGroup.length() - 1));
List<String> ncGroupList = Arrays.asList(ncGroup.toString().split(","));
ncGroups.add(ncGroupList.get(0));

@ -225,7 +225,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
abnormalBill.setNcCode(ncCodes.substring(0,ncCodes.length() - 1));
}
//判断是否是用户自报
if(!StringUtil.isBlank(abnormalBill.getInspector())){
if(!StringUtil.isBlank(abnormalBill.getInspector()) && Constants.NEW.equals(abnormalBill.getStatus())){
abnormalBill.setObjectBo(HandleEnum.SELF_REPORT.getHandle(abnormalBill.getSite(),abnormalBill.getObjectBo()));
selfReportService.updateState(abnormalBill.getObjectBo(),Constants.STATE_CONFIRM);
}
@ -889,8 +889,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
case Constants.CANCEL://取消
abnormalMessage.setSendUserGroup(abnormalBill.getCancelSendUserGroup());
abnormalMessage.setNode(Constants.ABNORMAL_MESSAGE_CANCEL);
//异常取消的时候要关闭当前异常单下所有的异常信息
UpdateWrapper<Message> messageTypeUpdateWrapper = new UpdateWrapper<>();
// messageTypeUpdateWrapper.eq("SITE",site);
@ -903,6 +901,8 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
messageService.update(abnormalMessage2,messageTypeUpdateWrapper);
break;
case Constants.SHUT_DOWN:
abnormalMessage.setSendUser(abnormalBillDispose.getResolveSendUser());
abnormalMessage.setNode(Constants.ABNORMAL_MESSAGE_PROGRAM_CONFIRM);
break;
}

@ -5,19 +5,21 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.anomaly.dto.AbnormalBillDisposeDto;
import com.foreverwin.mesnac.anomaly.dto.AbnormalPlanDto;
import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillDisposeMapper;
import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillMapper;
import com.foreverwin.mesnac.anomaly.mapper.AbnormalPlanMapper;
import com.foreverwin.mesnac.anomaly.model.AbnormalBill;
import com.foreverwin.mesnac.anomaly.model.AbnormalBillDispose;
import com.foreverwin.mesnac.anomaly.model.AbnormalPlan;
import com.foreverwin.mesnac.anomaly.service.AbnormalBillService;
import com.foreverwin.mesnac.anomaly.service.AbnormalPlanService;
import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.mapper.MessageMapper;
import com.foreverwin.mesnac.common.model.Message;
import com.foreverwin.mesnac.common.service.MessageService;
import com.foreverwin.mesnac.common.util.ActiveMQUtil;
import com.foreverwin.mesnac.meapi.model.NwaUser;
import com.foreverwin.mesnac.meapi.service.NwaUserService;
import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage;
import org.springframework.beans.factory.annotation.Autowired;
@ -27,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;
/**
* <p>
@ -57,6 +58,15 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
@Autowired
private ActiveMQUtil activeMQUtil;
@Autowired
private AbnormalBillService abnormalBillService;
@Autowired
private AbnormalBillMapper abnormalBillMapper;
@Autowired
private AbnormalBillDisposeMapper abnormalBillDisposeMapper;
@Override
public IPage<AbnormalPlan> selectPage(FrontPage<AbnormalPlan> frontPage, AbnormalPlan abnormalPlan) {
@ -129,44 +139,23 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
LocalDateTime now = LocalDateTime.now();
String user = CommonMethods.getUser();
for (AbnormalPlan abnormalPlan : abnormalPlanList){
Message message = new Message();
String uuid = UUID.randomUUID().toString();
message.setHandle(uuid);
message.setSite(site);
message.setObjectBo(HandleEnum.ABNORMAL_PLAN.getHandle(site,abnormalPlan.getAbnormalNo()));
message.setMessageType(Constants.ABNORMAL_MESSAGE_PLAN);
//设置消息格式content没做
message.setSendUserGroup(abnormalPlan.getSendUserGroup());
message.setGrade(Double.parseDouble("1.0"));
message.setResponseDateTime(now);
message.setNode("PLAN");
//设置为Y则不进入计时器
message.setStatus("Y");
message.setCreatedUser(user);
message.setCreatedDateTime(now);
message.setModifiedUser(user);
message.setModifiedDateTime(now);
AbnormalBill abnormalBill = abnormalBillMapper.selectById(HandleEnum.ABNORMAL_BILL.getHandle(site, abnormalPlan.getAbnormalNo()));
AbnormalBillDispose abnormalBillDispose = abnormalBillDisposeMapper.selectById(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site, abnormalPlan.getAbnormalNo()));
//发送消息
List<NwaUser> nwaUsers = nwaUserService.checkUserGroup(site,message.getSendUserGroup());
StringBuilder sendUsers = new StringBuilder();
for (int i = 0; i < nwaUsers.size(); i++) {
if(i == (nwaUsers.size() - 1)){
sendUsers.append(nwaUsers.get(i));
}else{
sendUsers.append(nwaUsers.get(i)).append("|");
}
abnormalBillService.anomalyCreatedAndSendMessage(abnormalBill,abnormalBillDispose);
if(Constants.PROCESSED.equals(abnormalPlan.getStatus())){
throw new BaseException("异常单:"+abnormalPlan.getAbnormalNo()+"已经处理,不能再次处理");
}
activeMQUtil.wechatSendMessage(sendUsers.toString(),message.getContent());
//保存
messageService.saveOrUpdate(message);
//设置状态为已处理
abnormalPlan.setStatus(Constants.PROCESSED);
//设置处理人
abnormalPlan.setProcessor(user);
//设置发送时间
abnormalPlan.setSendDateTime(now);
//设置handle
abnormalPlan.setHandle(HandleEnum.ABNORMAL_PLAN.getHandle(site,abnormalPlan.getAbnormalNo()));
//更新
this.saveOrUpdate(abnormalPlan);
}
}

@ -624,7 +624,7 @@
PRODUCTCATEGORY.VALUE PRODUCT_CATEGORY,listagg(NG.DESCRIPTION || '/'||NCT.DESCRIPTION || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION,
ZAB.PB_DESCRIPTION PB_DESCRIPTION ,ZAB.NC_QTY NC_QTY,
ZAB.PB_GRADE PB_GRADE ,NWA.FULL_NAME PB_USER ,ZAB.PB_QTY PB_QTY ,ZAB.DISCOVER DISCOVER ,
ZAB.INSPECTOR INSPECTOR ,ZAB.ENTITY_LOCATION ENTITY_LOCATION ,ZAB.REPORT_FROM REPORT_FROM ,ZAB.OBJECT_BO OBJECT_BO ,
ZAB.INSPECTOR INSPECTOR ,ZAB.ENTITY_LOCATION ENTITY_LOCATION ,ZAB.REPORT_FROM REPORT_FROM ,SUBSTR(ZAB.OBJECT_BO,INSTR(ZAB.OBJECT_BO,',')+1) OBJECT_BO,
ZAB.PB_PHOTOSHOP PB_PHOTOSHOP,ZABD.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,ZABD.DUTY_CAUSE_TYPE DUTY_CAUSE_TYPE,ZABD.DUTY_DEPART DUTY_DEPART,
ZABD.DUTY_SEND_USER_GROUP DUTY_SEND_USER_GROUP,ZABD.DUTY_TYPE DUTY_TYPE,ZABD.PRINCIPAL_USER PRINCIPAL_USER,ZABD.ABNORMAL_METHOD ABNORMAL_METHOD,
R.ROUTER ROUTER,ZABD.RESOLVE_SHOP_ORDER RESOLVE_SHOP_ORDER,ZABD.RESOLVE_REMARK RESOLVE_REMARK,ZABD.RESOLVE_SEND_USER RESOLVE_SEND_USER,
@ -660,7 +660,7 @@
ZAB.WORK_CENTER ,ZAB.RESRCE , WORKORDER.VALUE ,ITEMNUMBER.VALUE ,
PRODUCTCATEGORY.VALUE, ZAB.PB_DESCRIPTION ,ZAB.NC_QTY ,
ZAB.PB_GRADE ,NWA.FULL_NAME ,ZAB.PB_QTY ,ZAB.DISCOVER ,
ZAB.INSPECTOR ,ZAB.ENTITY_LOCATION ,ZAB.REPORT_FROM ,ZAB.OBJECT_BO ,
ZAB.INSPECTOR ,ZAB.ENTITY_LOCATION ,ZAB.REPORT_FROM ,SUBSTR(ZAB.OBJECT_BO,INSTR(ZAB.OBJECT_BO,',')+1),
ZAB.PB_PHOTOSHOP ,ZABD.DUTY_CAUSE_DESCRIPTION ,ZABD.DUTY_CAUSE_TYPE ,ZABD.DUTY_DEPART ,
ZABD.DUTY_SEND_USER_GROUP ,ZABD.DUTY_TYPE ,ZABD.PRINCIPAL_USER ,ZABD.ABNORMAL_METHOD ,
R.ROUTER ,ZABD.RESOLVE_SHOP_ORDER ,ZABD.RESOLVE_REMARK ,ZABD.RESOLVE_SEND_USER ,

@ -553,7 +553,8 @@
<select id="findAbnormalPlan" resultMap="abnormalPlanDto">
SELECT ZAP.ABNORMAL_NO ABNORMAL_NO ,ZAP.ABNORMAL_METHOD ABNORMAL_METHOD ,
ZAP.SHOP_ORDER SHOP_ORDER ,R.DESCRIPTION RESRCE_DESCRIPTION,ZAP.STATUS STATUS ,
IT.DESCRIPTION ITEM_DESCRIPTION,ZAP.QTY QTY ,ZNU.FULL_NAME FULL_NAME
IT.DESCRIPTION ITEM_DESCRIPTION,ZAP.QTY QTY ,ZNU.FULL_NAME FULL_NAME,
ZAP.SEND_USER_GROUP SEND_USER_GROUP
FROM Z_ABNORMAL_PLAN ZAP
LEFT JOIN RESRCE R ON R.RESRCE = ZAP.RESRCE AND R.SITE = ZAP.SITE
LEFT JOIN ITEM_T IT ON IT.ITEM_BO = ZAP.ITEM_BO AND IT.LOCALE = #{locale}

@ -33,7 +33,7 @@ ftp:
#打印服务器配置
print:
server: http://localhost:8080/CodeSoftPrintWeb/printService
server: http://172.16.251.188:8022/print/mesnacprint
activeMq:
sendWeChatMessage: tcp://localhost:61616?wireFormat.maxInactivityDuration=0

@ -26,9 +26,9 @@ public class SplitSfcController {
@ResponseBody
@GetMapping("/getSfcData")
public R getSfcData(String sfc){
public R getSfcData(SfcDto dto){
SfcDto result;
result = splitSfcService.getSfcData(sfc);
result = splitSfcService.getSfcData(dto);
return R.ok(result);
}
@ -49,7 +49,7 @@ public class SplitSfcController {
@ResponseBody
@GetMapping("/splitSfc")
public R getSfcData(SfcDto sfcDto){
public R splitSfc(SfcDto sfcDto){
return R.ok( splitSfcService.splitSfc(sfcDto));
}

@ -20,5 +20,5 @@ public interface SplitSfcMapper extends BaseMapper<SplitSfc> {
SfcDto getSfcData(@Param("handle") String handle);
SplitSfcDto getAbnormalQty(@Param("site")String site, @Param("sfc")String sfc, @Param("operation") String operation);
SplitSfcDto getAbnormalQty(@Param("site") String site, @Param("sfc") String sfc, @Param("operation") String operation,@Param("abnormalNo") String abnormalNo);
}

@ -27,7 +27,7 @@ public interface SplitSfcService extends IService<SplitSfc> {
List<SplitSfc> selectList(SplitSfc splitSfc);
SfcDto getSfcData(String sfc);
SfcDto getSfcData(SfcDto dto);
SfcDto getGoodSfcData(String sfc);

@ -73,9 +73,15 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
}
@Override
public SfcDto getSfcData(String sfc) {
public SfcDto getSfcData(SfcDto dto) {
String site = CommonMethods.getSite();
String handle = HandleEnum.SFC.getHandle(site, sfc);
String handle = HandleEnum.SFC.getHandle(site, dto.getSfc());
if (StringUtil.isBlank(dto.getSfc())){
throw new BaseException("产品条码不能为空");
}
if (StringUtil.isBlank(dto.getAbnormalNo())){
throw new BaseException("异常单号不能为空");
}
//根据sfc找工单等信息
SfcDto sfcData = splitSfcMapper.getSfcData(handle);
if (sfcData==null){
@ -83,7 +89,7 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
}
String operation = sfcData.getOperation();
//查询质量异常记录数量
SplitSfcDto sfcDto=splitSfcMapper.getAbnormalQty(site,sfc,operation);
SplitSfcDto sfcDto=splitSfcMapper.getAbnormalQty(site,dto.getSfc(),operation,dto.getAbnormalNo());
if (sfcDto==null){
throw new BaseException("未找到闭环关闭的质量异常");
}
@ -154,6 +160,10 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
public SplitSfc splitSfc(SfcDto sfcDto){
String site = CommonMethods.getSite();
String sfc = sfcDto.getSfc();
String abnormalNo = sfcDto.getAbnormalNo();
if (StringUtil.isBlank(abnormalNo)){
throw new BaseException("异常单号不能为空");
}
String handle = HandleEnum.SFC.getHandle(site, sfc);
BigDecimal splitQty = new BigDecimal(sfcDto.getQty());
@ -164,7 +174,7 @@ public class SplitSfcServiceImpl extends ServiceImpl<SplitSfcMapper, SplitSfc> i
throw new BaseException("未找到产品条码信息");
}
//查询质量异常记录数量 处置工艺路线及不良代码
SplitSfcDto splitSfcDto=splitSfcMapper.getAbnormalQty(site,sfc,operation);
SplitSfcDto splitSfcDto=splitSfcMapper.getAbnormalQty(site,sfc,operation, abnormalNo);
String routerBo = splitSfcDto.getRouterBo();
String ncCode = splitSfcDto.getNcCode();
if (StringUtil.isBlank(routerBo)){

@ -431,12 +431,12 @@
</delete>
<!-- BaseMapper标准查询/修改/删除 -->
<select id="generatorWord" resultType="hashmap">
SELECT DISTINCT WC.WORK_CENTER WORK_CENTER,WO.VALUE WORK_ORDER,WO2.VALUE DWG_NO,ZSS.QTY QTY,ZSS.OPERATION OPERATION,
ZSS.REASON REASON,ZSS."TYPE" "TYPE",
CASE WHEN I1.VALUE != NULL THEN I1.VALUE * I.QTY_MULTIPLIER
WHEN I2.VALUE != NULL THEN I2.VALUE * I.QTY_MULTIPLIER
ELSE I.QTY_MULTIPLIER END WEIGHT,I.ITEM ITEM,S.SFC SFC,it.DESCRIPTION ITEM_DESCRIPTION,
SO.SHOP_ORDER SHOP_ORDER
SELECT DISTINCT NVL(WC.WORK_CENTER,' ') WORK_CENTER,NVL(WO.VALUE,' ') WORK_ORDER,NVL(WO2.VALUE,' ') DWG_NO,NVL(ZSS.QTY,0) QTY,NVL(ZSS.OPERATION,' ') OPERATION,
NVL(ZSS.REASON,' ') REASON,NVL(ZSS."TYPE",' ') "TYPE",
CASE WHEN I1.VALUE != NULL THEN NVL(I1.VALUE * I.QTY_MULTIPLIER,0)
WHEN I2.VALUE != NULL THEN NVL(I2.VALUE * I.QTY_MULTIPLIER,0)
ELSE NVL(I.QTY_MULTIPLIER,0) END WEIGHT,NVL(I.ITEM,' ') ITEM,NVL(S.SFC,' ') SFC,NVL(it.DESCRIPTION,' ') ITEM_DESCRIPTION,
NVL(SO.SHOP_ORDER,' ') SHOP_ORDER
FROM
SHOP_ORDER SO
LEFT JOIN WORK_CENTER WC ON SO.PLANNED_WORK_CENTER_BO = WC.HANDLE

@ -380,7 +380,7 @@
<select id="getAbnormalQty" resultType="com.foreverwin.mesnac.production.dto.SplitSfcDto">
SELECT zab.NC_QTY,zsbd.ROUTER_BO,zab.NC_CODE,zab.ABNORMAL_NO FROM Z_ABNORMAL_BILL zab
JOIN Z_ABNORMAL_BILL_DISPOSE zsbd ON zab.HANDLE=ZSBD.ABNORMAL_BILL_BO
WHERE ZAB.SFC=#{sfc} AND zab.SITE=#{site} AND ZAB.OPERATION=#{operation} AND zab.STATUS='G' AND zab."TYPE"='Z' AND (zsbd.ABNORMAL_METHOD='F' OR zsbd.ABNORMAL_METHOD='C')
WHERE ZAB.SFC=#{sfc} AND zab.ABNORMAL_NO=#{abnormalNo} AND zab.SITE=#{site} AND ZAB.OPERATION=#{operation} AND zab.STATUS='G' AND zab."TYPE"='Z' AND (zsbd.ABNORMAL_METHOD='F' OR zsbd.ABNORMAL_METHOD='C')
</select>
</mapper>

Loading…
Cancel
Save