生产管理修改

liweidong
李涛 2 weeks ago
parent e010f942db
commit 467571b1f2
  1. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/OrderDeclare.java
  2. 21
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClient.java
  3. 14
      blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataProduceClientFallback.java
  4. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/DeductionPreserveController.java
  5. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IOrderDeclareService.java
  6. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/OrderDeclareServiceImpl.java
  7. 13
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataProduceClient.java
  8. 2
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataProduceMapper.java
  9. 6
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataProduceService.java
  10. 76
      blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataProduceServiceImpl.java

@ -63,7 +63,7 @@ public class OrderDeclare extends BaseEntity {
private String quaLevel;
@Schema(description = "数量")
private Double quantity;
private Integer quantity;
@Schema(description = "备注")
private String remark;
@ -83,4 +83,13 @@ public class OrderDeclare extends BaseEntity {
@TableField(exist = false)
@Schema(description = "状态名称")
private String podStatusName;
@TableField(exist = false)
@Schema(description = "库存部门")
private String deptNo;
@TableField(exist = false)
@Schema(description = "库房号")
private String warnNo;
}

@ -4,6 +4,7 @@ package org.springblade.erpdata.feign;
import org.springblade.common.constant.LauncherConstant;
import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.MesRbRedoRoutDTO;
import org.springblade.desk.produce.pojo.entity.OrderDeclare;
import org.springblade.erpdata.pojo.vo.MesRbRedoVO;
import org.springblade.erpdata.pojo.vo.PpmReportDetailModelVO;
import org.springblade.erpdata.pojo.vo.QueryBatchVO;
@ -40,12 +41,14 @@ public interface IErpDataProduceClient {
String COMPLETE_ORDER = API_PREFIX + "/completeOrder";
String RECEIVE_ORDER = API_PREFIX + "/receiveOrder";
String LOAD_REWORK_NO_PROCESS = API_PREFIX + "/loadReworkNoProcess";
String SIGN_DELETE = API_PREFIX + "/signDelete";
String SAVE_DECLARE = API_PREFIX + "/saveDeclare";
/**
* 缺件申报-通过零件号获取批次号
*/
@GetMapping(QUERY_BATCH)
R<QueryBatchVO> queryBatch(@RequestParam("partCode") String partCode);
R<List<QueryBatchVO>> queryBatch(@RequestParam("partCode") String partCode);
/**
* 返工订单
@ -152,4 +155,20 @@ public interface IErpDataProduceClient {
*/
@GetMapping(LOAD_REWORK_NO_PROCESS)
R<List<MesRbRedoRoutDTO>> loadReworkNoProcess();
/**
* 删除申请单
*/
@GetMapping(SIGN_DELETE)
R<Boolean> signDeleteErp(@RequestParam(value = "useCode") String useCode);
/**
* 提交申请单
*/
@GetMapping(SAVE_DECLARE)
R<String> saveDeclare(@RequestParam(value = "partCode") String partCode, @RequestParam(value = "batchNo") String batchNo,
@RequestParam(value = "quantity") Integer quantity, @RequestParam(value = "remark") String remark,
@RequestParam(value = "quaLevel") String quaLevel, @RequestParam(value = "deptNo") String deptNo,
@RequestParam(value = "warnNo") String warnNo, @RequestParam(value = "locationNo") String locationNo,
@RequestParam(value = "woCode") String woCode, @RequestParam(value = "userName") String userName);
}

@ -2,6 +2,7 @@ package org.springblade.erpdata.feign;
import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.MesRbRedoRoutDTO;
import org.springblade.desk.produce.pojo.entity.OrderDeclare;
import org.springblade.erpdata.pojo.vo.MesRbRedoVO;
import org.springblade.erpdata.pojo.vo.PpmReportDetailModelVO;
import org.springblade.erpdata.pojo.vo.QueryBatchVO;
@ -21,7 +22,7 @@ import java.util.Map;
public class IErpDataProduceClientFallback implements IErpDataProduceClient {
@Override
public R<QueryBatchVO> queryBatch(String partCode) {
public R<List<QueryBatchVO>> queryBatch(String partCode) {
return R.fail("获取数据失败");
}
@ -89,4 +90,15 @@ public class IErpDataProduceClientFallback implements IErpDataProduceClient {
public R<List<MesRbRedoRoutDTO>> loadReworkNoProcess() {
return R.fail("获取数据失败");
}
@Override
public R<Boolean> signDeleteErp(String useCode) {
return R.fail("获取数据失败");
}
@Override
public R<String> saveDeclare(String partCode, String batchNo, Integer quantity, String remark, String quaLevel, String deptNo, String warnNo, String locationNo, String woCode, String userName) {
return R.fail("获取数据失败");
}
}

@ -61,7 +61,7 @@ public class DeductionPreserveController extends BladeController {
return R.data(deductionPreserveService.queryData(Condition.getPage(query), deductionPreserve));
}
@GetMapping("DeclarePage")
@GetMapping("orderDeclarePage")
@ApiOperationSupport(order = 4)
@Operation(summary = "缺件申请列表", description = "")
public R<IPage<OrderDeclare>> orderDeclarePage(OrderDeclareDto orderDeclareDto, Query query) {
@ -88,7 +88,7 @@ public class DeductionPreserveController extends BladeController {
@GetMapping("/queryBatch")
@ApiOperationSupport(order = 6)
@Operation(summary = "缺件申报-通过零件号获取批次号", description = "")
public R<QueryBatchVO> queryBatch(String partCode) {
public R<List<QueryBatchVO>> queryBatch(String partCode) {
return R.data(orderDeclareService.queryBatch(partCode));
}

@ -5,6 +5,8 @@ import org.springblade.desk.produce.pojo.dto.SaveDeclareDto;
import org.springblade.desk.produce.pojo.entity.OrderDeclare;
import org.springblade.erpdata.pojo.vo.QueryBatchVO;
import java.util.List;
/**
* 缺件申请记录 服务类
*
@ -14,7 +16,7 @@ public interface IOrderDeclareService extends BaseService<OrderDeclare> {
boolean signDelete(Long id);
QueryBatchVO queryBatch(String partCode);
List<QueryBatchVO> queryBatch(String partCode);
boolean saveDeclare(SaveDeclareDto saveDeclareDto);
}

@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.produce.mapper.OrderDeclareMapper;
import org.springblade.desk.produce.pojo.dto.SaveDeclareDto;
import org.springblade.desk.produce.pojo.entity.*;
@ -13,6 +14,7 @@ import org.springblade.desk.produce.service.IOrderDeclareService;
import org.springblade.erpdata.feign.IErpDataProduceClient;
import org.springblade.erpdata.pojo.vo.QueryBatchVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
@ -36,14 +38,17 @@ public class OrderDeclareServiceImpl extends BaseServiceImpl<OrderDeclareMapper,
if (orderDeclare == null) {
return false;
}
// todo 调用erp,删除提交的数据
// this.signDeleteErp(orderDeclare.getUseCode());
// 调用erp,删除提交的数据
boolean res = erpDataProduceClient.signDeleteErp(orderDeclare.getUseCode()).getData();
if (!res) {
return res;
}
// 删除本地提交记录
return this.removeById(id);
}
@Override
public QueryBatchVO queryBatch(String partCode) {
public List<QueryBatchVO> queryBatch(String partCode) {
if (StringUtils.isBlank(partCode)) {
throw new ServiceException("请输入零件号!");
}
@ -51,6 +56,7 @@ public class OrderDeclareServiceImpl extends BaseServiceImpl<OrderDeclareMapper,
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean saveDeclare(SaveDeclareDto saveDeclareDto) {
List<OrderDeclare> orderDeclares = saveDeclareDto.getOrderDeclares();
if (CollectionUtils.isEmpty(orderDeclares)) {
@ -58,8 +64,11 @@ public class OrderDeclareServiceImpl extends BaseServiceImpl<OrderDeclareMapper,
}
for (OrderDeclare orderDeclare : orderDeclares) {
// 调用erp,提交申请,获取领用单号
// String code = prWorkOrderDao.saveDeclare(jsonObject, curUserInfo);
orderDeclare.setUseCode("code");
String code = erpDataProduceClient.saveDeclare(orderDeclare.getPartCode(), orderDeclare.getBatchNo(),
orderDeclare.getQuantity(), StringUtils.isBlank(orderDeclare.getRemark()) ? "" : orderDeclare.getRemark(),
orderDeclare.getQuaLevel(), orderDeclare.getDeptNo(), orderDeclare.getWarnNo(), orderDeclare.getLocationNo(),
orderDeclare.getWoCode(), AuthUtil.getUserName()).getData();
orderDeclare.setUseCode(code);
}
return this.saveBatch(orderDeclares);
}

@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.MesRbRedoRoutDTO;
import org.springblade.desk.produce.pojo.entity.OrderDeclare;
import org.springblade.erpdata.pojo.vo.MesRbRedoVO;
import org.springblade.erpdata.pojo.vo.PpmReportDetailModelVO;
import org.springblade.erpdata.pojo.vo.QueryBatchVO;
@ -32,7 +33,7 @@ public class ErpDataProduceClient implements IErpDataProduceClient {
@Override
@GetMapping(QUERY_BATCH)
public R<QueryBatchVO> queryBatch(String partCode) {
public R<List<QueryBatchVO>> queryBatch(String partCode) {
return R.data(erpDataProduceService.queryBatch(partCode));
}
@ -102,4 +103,14 @@ public class ErpDataProduceClient implements IErpDataProduceClient {
return R.data(erpDataProduceService.loadReworkNoProcess());
}
@Override
public R<Boolean> signDeleteErp(String useCode) {
return R.data(erpDataProduceService.signDeleteErp(useCode));
}
@Override
public R<String> saveDeclare(String partCode, String batchNo, Integer quantity, String remark, String quaLevel, String deptNo, String warnNo, String locationNo, String woCode, String userName) {
return R.data(erpDataProduceService.saveDeclare(partCode, batchNo, quantity, remark, quaLevel, deptNo, warnNo, locationNo, woCode, userName));
}
}

@ -19,7 +19,7 @@ import java.util.Map;
*/
public interface ErpDataProduceMapper extends Mapper {
QueryBatchVO queryBatch(String partCode);
List<QueryBatchVO> queryBatch(String partCode);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo, Integer current, Integer size);

@ -17,7 +17,7 @@ import java.util.Map;
public interface IErpDataProduceService {
QueryBatchVO queryBatch(String partCode);
List<QueryBatchVO> queryBatch(String partCode);
List<ReworkProcessVO> loadReworkOrder(String reworkCode, String partCode, String batchNo, Integer current, Integer size);
@ -44,4 +44,8 @@ public interface IErpDataProduceService {
boolean receiveOrder(String redono, Integer seqno, String prtno, String splcode, Double amount, String reqqty, String userName, int reworkgyFlag);
List<MesRbRedoRoutDTO> loadReworkNoProcess();
Boolean signDeleteErp(String useCode);
String saveDeclare(String partCode, String batchNo, Integer quantity, String remark, String quaLevel, String deptNo, String warnNo, String locationNo, String woCode, String userName);
}

@ -2,6 +2,7 @@ package org.springblade.erpdata.service.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.desk.produce.pojo.dto.MesRbRedoRoutDTO;
import org.springblade.erpdata.mapper.ErpDataProduceMapper;
import org.springblade.erpdata.pojo.vo.MesRbRedoVO;
@ -32,7 +33,7 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService {
private final JdbcTemplate jdbcTemplate;
@Override
public QueryBatchVO queryBatch(String partCode) {
public List<QueryBatchVO> queryBatch(String partCode) {
return erpDataProduceMapper.queryBatch(partCode);
}
@ -232,4 +233,77 @@ public class ErpDataProduceServiceImpl implements IErpDataProduceService {
public List<MesRbRedoRoutDTO> loadReworkNoProcess() {
return erpDataProduceMapper.loadReworkNoProcess();
}
@Override
public Boolean signDeleteErp(String useCode) {
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
// 指定存储过程名(包含 DB Link)
.withProcedureName("dba_mgr.pro_rbqjdel")
// 建议关闭元数据访问(通过 DB Link 访问时可避免权限/性能问题)
.withoutProcedureColumnMetaDataAccess()
// 显式声明参数
.declareParameters(
new SqlParameter("v_invadjcode", Types.VARCHAR),
new SqlOutParameter("v_excnote", Types.VARCHAR),
new SqlOutParameter("v_excflag", Types.VARCHAR)
);
// 2. 封装输入参数
Map<String, Object> inParams = new HashMap<>();
inParams.put("v_invadjcode", useCode);
// 3. 执行并获取结果 Map
Map<String, Object> resultMap = jdbcCall.execute(inParams);
// 4. 提取输出参数
String excflag = (String) resultMap.get("v_excflag");
String excnote = (String) resultMap.get("v_excnote");
return !"0".equals(excflag);
}
@Override
public String saveDeclare(String partCode, String batchNo, Integer quantity, String remark, String quaLevel, String deptNo, String warnNo, String locationNo, String woCode, String userName) {
SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate)
// 指定存储过程名(包含 DB Link)
.withProcedureName("dba_mgr.pro_rbqjmtn")
// 建议关闭元数据访问(通过 DB Link 访问时可避免权限/性能问题)
.withoutProcedureColumnMetaDataAccess()
// 显式声明参数
.declareParameters(
new SqlParameter("v_prtno", Types.VARCHAR),
new SqlParameter("v_splcode", Types.VARCHAR),
new SqlParameter("v_num", Types.INTEGER),
new SqlParameter("v_remark", Types.VARCHAR),
new SqlParameter("v_prtlotno", Types.VARCHAR),
new SqlParameter("v_deptno", Types.VARCHAR),
new SqlParameter("v_warno", Types.VARCHAR),
new SqlParameter("v_warlocno", Types.VARCHAR),
new SqlParameter("v_mtnman", Types.VARCHAR),
new SqlParameter("v_sono", Types.VARCHAR),
new SqlOutParameter("v_excnote", Types.VARCHAR),
new SqlOutParameter("v_excflag", Types.VARCHAR),
new SqlOutParameter("v_invadjcode", Types.VARCHAR)
);
// 2. 封装输入参数
Map<String, Object> inParams = new HashMap<>();
inParams.put("v_prtno", partCode);
inParams.put("v_splcode", batchNo);
inParams.put("v_num", quantity);
inParams.put("v_remark", remark);
inParams.put("v_prtlotno", quaLevel);
inParams.put("v_deptno", deptNo);
inParams.put("v_warno", warnNo);
inParams.put("v_warlocno", locationNo);
inParams.put("v_mtnman", userName);
inParams.put("v_sono", woCode);
// 3. 执行并获取结果 Map
Map<String, Object> resultMap = jdbcCall.execute(inParams);
// 4. 提取输出参数
String excflag = (String) resultMap.get("v_excflag");
String excnote = (String) resultMap.get("v_excnote");
Object code = resultMap.get("v_invadjcode");
if (code == null) {
throw new ServiceException("接口回传数据失败,请联系信息中心");
}
return (String) code;
}
}

Loading…
Cancel
Save