|
|
package com.aucma.api.controller;
|
|
|
|
|
|
import com.aucma.api.domain.dto.CheckInfoDto;
|
|
|
import com.aucma.api.domain.dto.RepairSubmitInfoDto;
|
|
|
import com.aucma.api.service.IPdaBindingService;
|
|
|
import com.aucma.base.domain.BaseProcessStation;
|
|
|
import com.aucma.base.service.IBaseProcessStationService;
|
|
|
import com.aucma.common.core.domain.AjaxResult;
|
|
|
import com.aucma.common.utils.SecurityUtils;
|
|
|
import com.aucma.common.utils.StringUtils;
|
|
|
import com.aucma.report.domain.RecordExceptionProcess;
|
|
|
import com.aucma.report.domain.ReportQualityInspection;
|
|
|
import com.aucma.report.service.IMaterialCompletionService;
|
|
|
import com.aucma.report.service.IReportQualityInspectionService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
|
import static com.aucma.common.core.domain.AjaxResult.error;
|
|
|
import static com.aucma.common.core.domain.AjaxResult.success;
|
|
|
|
|
|
/**
|
|
|
* @author wanghao
|
|
|
* @date 2023/11/14 9:28
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping("/api")
|
|
|
public class PdaApiController {
|
|
|
|
|
|
@Autowired
|
|
|
private IPdaBindingService service;
|
|
|
|
|
|
@Autowired
|
|
|
private IBaseProcessStationService baseProcessStationService;
|
|
|
|
|
|
@Autowired
|
|
|
private IMaterialCompletionService completionService;
|
|
|
|
|
|
@Autowired
|
|
|
private IReportQualityInspectionService qualityService;
|
|
|
|
|
|
//壳胆绑定-提交
|
|
|
@PostMapping("/boxBanding")
|
|
|
public AjaxResult binding(String boxCode, String innerCode, String loginName) {
|
|
|
String boxName = service.selectBoxNameByCode(boxCode);
|
|
|
if (StringUtils.isNotNull(boxName)) {
|
|
|
service.insertBindingInfo(boxCode, boxName, innerCode);
|
|
|
return success();
|
|
|
}
|
|
|
return error("箱壳条码扫描错误");
|
|
|
}
|
|
|
|
|
|
//条码绑定
|
|
|
@PostMapping("/barCodeBanding")
|
|
|
public AjaxResult barCodeBanding(String boxCode, String innerCode, String loginName) {
|
|
|
// 查询质检缺陷有没有修复
|
|
|
int countQa = service.countQualityRecordByCode(boxCode);
|
|
|
if (countQa > 0) {
|
|
|
return error("返修中" + countQa + "条未处理,不允许绑定");
|
|
|
}
|
|
|
// 查询插入
|
|
|
return toAjax(service.updateCodeBinding(boxCode, innerCode));
|
|
|
}
|
|
|
|
|
|
@PostMapping("/selectGoodsName")
|
|
|
public AjaxResult selectGoodsName(String code) {
|
|
|
String boxName = service.selectBoxNameByCode(code);
|
|
|
if (boxName == null) {
|
|
|
return error("查询失败,条码不正确");
|
|
|
}
|
|
|
return success("操作成功", boxName);
|
|
|
}
|
|
|
|
|
|
|
|
|
// 质检查询名称、前工位返修数据
|
|
|
@PostMapping("/check/select")
|
|
|
public AjaxResult checkSelect(String code) {
|
|
|
String boxName = service.selectBoxNameByCode(code);
|
|
|
if (boxName == null) {
|
|
|
// boxName = "固定数据";
|
|
|
return error("箱壳条码扫描错误");
|
|
|
}
|
|
|
List<ReportQualityInspection> list = service.checkSelectRepairInfo(code);
|
|
|
return success(boxName, list);
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 质量检测:查询物料名称、前工位返修数据
|
|
|
* @param code
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/check/query")
|
|
|
public AjaxResult checkQuery(String code, String station) {
|
|
|
String boxName = service.selectBoxNameByCode(code);
|
|
|
if (boxName == null) {
|
|
|
// boxName = "固定数据";
|
|
|
return error("条码信息扫描错误!");
|
|
|
}
|
|
|
//检验前一工位是否已完成质检
|
|
|
if (StringUtils.isNotEmpty(station)){
|
|
|
String result = qualityService.checkBeforeStationInspection(code, station);
|
|
|
if (StringUtils.isNotNull(result)){
|
|
|
return error(result);
|
|
|
}
|
|
|
}
|
|
|
List<ReportQualityInspection> list = service.checkSelectRepairInfo(code);
|
|
|
return success(boxName, list);
|
|
|
|
|
|
}
|
|
|
|
|
|
// 质检提交
|
|
|
@PostMapping("/checkSubmit")
|
|
|
public AjaxResult checkSubmit(@RequestBody CheckInfoDto checkInfo) {
|
|
|
List<CheckInfoDto.DefectBeen> list = checkInfo.getList();
|
|
|
int size = (list == null || list.isEmpty()) ? 1 : list.size();
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
ReportQualityInspection inspection = new ReportQualityInspection();
|
|
|
inspection.setBarCode(checkInfo.getCode());
|
|
|
|
|
|
inspection.setMaterialName(checkInfo.getName());
|
|
|
String measure = checkInfo.getMeasure();
|
|
|
inspection.setTreatmentMeasure(measure);
|
|
|
if (measure.equals("3")) {
|
|
|
inspection.setIsFlag(1L);
|
|
|
}
|
|
|
//检测人
|
|
|
// inspection.setInspectorCode(checkInfo.getUserName());
|
|
|
inspection.setInspectorCode(SecurityUtils.getUsername());
|
|
|
inspection.setInspectorTime(new Date());
|
|
|
inspection.setStationCode(checkInfo.getStationCode());
|
|
|
inspection.setGroupCode(checkInfo.getTeamCode());
|
|
|
|
|
|
try {
|
|
|
// 查质检工序
|
|
|
BaseProcessStation processStation = new BaseProcessStation();
|
|
|
processStation.setParentId(checkInfo.getStationCode());
|
|
|
List<BaseProcessStation> processStations = baseProcessStationService.selectBaseProcessStationList(processStation);
|
|
|
inspection.setProcessCode(processStations.get(0).getProcessCode());
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
assert list != null;
|
|
|
if (!list.isEmpty()) {
|
|
|
CheckInfoDto.DefectBeen defectBeen = list.get(i);
|
|
|
inspection.setSubmitQualtyId(defectBeen.getObjId());
|
|
|
inspection.setTestItemCode(list.get(i).getStationCode());
|
|
|
inspection.setQualityDefectCode(list.get(i).getQualityDefectCode());
|
|
|
inspection.setQualityDefectName(list.get(i).getQualityDefectName());
|
|
|
}
|
|
|
qualityService.insertReportQualityInspection(inspection);
|
|
|
//质检处理措施(3=合格,1=返修)
|
|
|
if (inspection.getTreatmentMeasure().equals("3")) {
|
|
|
try {
|
|
|
completionService.inspectionProcessing(inspection);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return success();
|
|
|
}
|
|
|
|
|
|
//返修查询质检信息
|
|
|
@PostMapping("/findCheckInfoByCode")
|
|
|
public AjaxResult findCheckInfoByCode(String code) {
|
|
|
List<ReportQualityInspection> list = service.findCheckInfoByCode(code);
|
|
|
if (list == null || list.isEmpty()) {
|
|
|
return error("扫描条码不正确或无返修信息");
|
|
|
}
|
|
|
return success(list);
|
|
|
}
|
|
|
|
|
|
//返修提交质检信息
|
|
|
@PostMapping("/submitRepair")
|
|
|
public AjaxResult submitRepair(@RequestBody RepairSubmitInfoDto info) {
|
|
|
int i = service.submitRepair(info);
|
|
|
if (i == 999){
|
|
|
return error("该箱体未审批完成,无法降级!");
|
|
|
}
|
|
|
if(i > 0){
|
|
|
return success("操作成功!");
|
|
|
}else {
|
|
|
return error("该箱体已完成返修!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
private AjaxResult toAjax(int rows) {
|
|
|
return rows > 0 ? AjaxResult.success() : AjaxResult.error();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* PDA查询当班质检数量
|
|
|
*
|
|
|
* @param stationCode 质检记录管理
|
|
|
* @return 质检记录管理集合
|
|
|
*/
|
|
|
@PostMapping("/pdaQueryQuantityNumber")
|
|
|
public AjaxResult pdaQueryQuantityNumber(String stationCode) {
|
|
|
return success(qualityService.pdaQueryQuantityNumber(stationCode));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* PDA补打条码
|
|
|
*
|
|
|
* @param barCode
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/rebarCode")
|
|
|
public AjaxResult rebarCode(String barCode) {
|
|
|
String result = service.rebarCode(barCode);
|
|
|
if (StringUtils.isNotEmpty(result)){
|
|
|
return error(result);
|
|
|
}
|
|
|
return success( "请到条码打印机旁进行补打条码!");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* PDA解绑条码
|
|
|
*
|
|
|
* @param barCode
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/unbindBarCode")
|
|
|
public AjaxResult unbindBarCode(String barCode) {
|
|
|
String result = service.unbindBarCode(barCode);
|
|
|
if (StringUtils.isEmpty(result)){
|
|
|
return error("条码信息输入错误!");
|
|
|
}
|
|
|
return success(result);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* PDA降级消息通知
|
|
|
* @param userName
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/messageNotifications")
|
|
|
public AjaxResult messageNotifications(String userName) {
|
|
|
String result = service.messageNotifications(userName);
|
|
|
if (StringUtils.isEmpty(result)){
|
|
|
return error("无消息提醒!");
|
|
|
}
|
|
|
return success(result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* PDA切换订单
|
|
|
* @param barCode
|
|
|
* @param stationCode
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/switchOrders")
|
|
|
public AjaxResult switchOrders(String barCode,String stationCode) {
|
|
|
String result = service.switchOrders(barCode, stationCode);
|
|
|
if (StringUtils.isEmpty(result)){
|
|
|
return error("条码信息输入错误!");
|
|
|
}
|
|
|
return success(result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* PDA降级信息查询
|
|
|
* @param inspectionUserFlag 巡检班长降级标识(1=已降级,2=未降级)
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/downgradeQuery")
|
|
|
public AjaxResult downgradeQuery(String inspectionUserFlag) {
|
|
|
if (StringUtils.isEmpty(inspectionUserFlag)){
|
|
|
return error();
|
|
|
}
|
|
|
List<RecordExceptionProcess> list = service.selectExceptionProcessList(inspectionUserFlag);
|
|
|
return success(list);
|
|
|
}
|
|
|
}
|