fix:工单下发数据接收,单据去重
This commit is contained in:
@@ -219,7 +219,7 @@
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<version>23.9.0.25.07</version>
|
||||
<version>19.8.0.0</version>
|
||||
</dependency>
|
||||
<!--请求金蝶erp接口客户端-->
|
||||
<dependency>
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/mes")
|
||||
@@ -35,8 +36,11 @@ public class MesToWmsController {
|
||||
|
||||
@PostMapping("/subWorkOrder")
|
||||
@SaIgnore
|
||||
public ResponseEntity subWorkOrder(@RequestBody WorkOrderDto dto){
|
||||
public ResponseEntity subWorkOrder(@RequestBody List<WorkOrderDto.WorkOrderDataDto> dtos){
|
||||
for (WorkOrderDto.WorkOrderDataDto dto : dtos) {
|
||||
iWorkOrderService.insert(dto);
|
||||
}
|
||||
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public class WorkOrderController {
|
||||
@Log("保存工单")
|
||||
public ResponseEntity<Object> save(@Validated @RequestBody WorkOrderDto dto)
|
||||
{
|
||||
iWorkOrderService.insert(dto);
|
||||
iWorkOrderService.insert(dto.getWorkOrder());
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
|
||||
@@ -53,11 +53,11 @@ public class ProductGroupServiceImpl implements IProductGroupService {
|
||||
GroupPlateMapper.updateGroupPalletById(jsonObjects.get(0).getString("group_id"), bomData.getUseBomQty());
|
||||
continue;
|
||||
}
|
||||
|
||||
String loadPortCode = dto.getLoadPort().split(":")[0];
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("group_id", IdUtil.getStringId());
|
||||
json.put("ext_code", dto.getWorkOrder());
|
||||
json.put("load_port", dto.getLoadPort());
|
||||
json.put("load_port", loadPortCode);
|
||||
json.put("storagevehicle_code", dto.getPalletCode());
|
||||
json.put("material_id", bomData.getMaterialCode());
|
||||
json.put("material_code", bomData.getMaterialCode());
|
||||
|
||||
@@ -25,7 +25,7 @@ public interface IWorkOrderService extends IService<WorkOrderDao> {
|
||||
* 新增工单
|
||||
* @param entity
|
||||
*/
|
||||
void insert(WorkOrderDto entity);
|
||||
void insert(WorkOrderDto.WorkOrderDataDto entity);
|
||||
|
||||
/**
|
||||
* 修改工单状态
|
||||
|
||||
@@ -47,4 +47,6 @@ public interface WorkOrderMapper extends BaseMapper<WorkOrderDao> {
|
||||
* 修改对应bom使用数量
|
||||
*/
|
||||
void updateBomUseQty(String id, BigDecimal qty);
|
||||
|
||||
void deleteByOrderCode(String orderCode);
|
||||
}
|
||||
|
||||
@@ -50,6 +50,10 @@
|
||||
<update id="updateBomUseQty">
|
||||
UPDATE md_work_order_bom SET use_bom_qty = use_bom_qty + #{qty} WHERE id = #{id}
|
||||
</update>
|
||||
<delete id="deleteByOrderCode">
|
||||
delete from md_work_order_bom
|
||||
where work_order_code = #{orderCode}
|
||||
</delete>
|
||||
|
||||
<!--查询工单列表-->
|
||||
<select id="queryList" resultMap="workOrderList">
|
||||
|
||||
@@ -76,29 +76,30 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void insert(WorkOrderDto dto) {
|
||||
WorkOrderDto.WorkOrderDataDto workOrderDataDto = dto.getWorkOrder();
|
||||
if (workOrderDataDto == null) {
|
||||
System.out.println("workOrderDataDto is NULL");
|
||||
return;
|
||||
public void insert(WorkOrderDto.WorkOrderDataDto dto) {
|
||||
//校验如果存在则删除再插入
|
||||
WorkOrderDao workOrderDao = workOrderMapper.selectOne(new LambdaQueryWrapper<WorkOrderDao>()
|
||||
.eq(WorkOrderDao::getOrder_code, dto.getOrderCode()));
|
||||
if (workOrderDao != null){
|
||||
workOrderMapper.deleteById(workOrderDao.getId());
|
||||
workOrderMapper.deleteByOrderCode(workOrderDao.getOrder_code());
|
||||
}
|
||||
|
||||
WorkOrderDto.WorkOrderDataDto workOrder = dto.getWorkOrder();
|
||||
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
String nowStr = now.format(dateTimeFormatter).toString();
|
||||
workOrder.setCreateTime(nowStr);
|
||||
dto.setCreateTime(nowStr);
|
||||
|
||||
List<String> workOrderSnList = workOrder.getWorkOrderSnList();
|
||||
List<String> workOrderSnList = dto.getWorkOrderSnList();
|
||||
if (workOrderSnList != null && !workOrderSnList.isEmpty()) {
|
||||
workOrder.setWorkOrderSnListString(String.join(",", workOrderSnList));
|
||||
dto.setWorkOrderSnListString(String.join(",", workOrderSnList));
|
||||
}
|
||||
|
||||
List<WorkOrderDto.WorkOrderDataDto.WorkOrderBomDto> workOrderBomList = workOrder.getWorkOrderBomList();
|
||||
List<WorkOrderDto.WorkOrderDataDto.WorkOrderBomDto> workOrderBomList = dto.getWorkOrderBomList();
|
||||
//保证一致
|
||||
workOrderBomList.forEach(a->a.setWorkOrderCode(workOrder.getOrderCode()));
|
||||
workOrderMapper.saveWorkOrder(workOrder);
|
||||
workOrderBomList.forEach(a->a.setWorkOrderCode(dto.getOrderCode()));
|
||||
workOrderMapper.saveWorkOrder(dto);
|
||||
workOrderMapper.saveAllBom(workOrderBomList);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user