mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 05:12:07 +08:00
bug修改
This commit is contained in:
+1
@@ -53,4 +53,5 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode APP_TOKEN_ERROR = new ErrorCode(1_002_029_006, "token获取失败");
|
||||
ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_006, "板材数据获取错误");
|
||||
ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_006, "配件数据获取错误");
|
||||
ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_006, "柜体数据获取错误");
|
||||
}
|
||||
|
||||
+4
@@ -17,4 +17,8 @@ public interface ApiOrderService {
|
||||
|
||||
@RequestMapping(value = "/Api-erpOrders-partsList",method = RequestMethod.POST)
|
||||
JSONObject getApiOrderPartsMessage(@RequestParam("token") String token, @RequestBody JSONObject json);
|
||||
|
||||
@RequestMapping(value = "/Api-erpOrders-boxsList",method = RequestMethod.POST)
|
||||
JSONObject getApiOrderBodyMessage(@RequestParam("token") String token, @RequestBody JSONObject json);
|
||||
|
||||
}
|
||||
|
||||
+16
-1
@@ -414,8 +414,23 @@ public class OrderServiceImpl implements OrderService {
|
||||
JSONObject value = apiOrderService.getApiOrderPartsMessage(token, jsonParts).getJSONObject("value");
|
||||
mergeJSONObjects(dataParts, value);
|
||||
}
|
||||
// 柜体信息转换
|
||||
JSONObject jsonBody = new JSONObject();
|
||||
jsonBody.put("curr_page", 1);
|
||||
jsonBody.put("page_count", PARTS_PAGE_MAX);
|
||||
jsonBody.put("order_no", orderNo);
|
||||
JSONObject body = apiOrderService.getApiOrderBodyMessage(token, jsonBody);
|
||||
if (!body.getString("err_code").equals("0")) {
|
||||
throw exception(BODY_DATA_ERROR);
|
||||
}
|
||||
JSONObject dataBody = new JSONObject();
|
||||
for (int i = 1; i <= dataBody.getJSONObject("value").getInteger("PageCount"); i++) {
|
||||
jsonParts.put("curr_page", i);
|
||||
JSONObject value = apiOrderService.getApiOrderPartsMessage(token, jsonBody).getJSONObject("value");
|
||||
mergeJSONObjects(dataBody, value);
|
||||
}
|
||||
// 转换
|
||||
List<PlateDetail> plateDetails = (List<PlateDetail>) apiTypeChangeRealize.apiPlateDataChange(dataPlates.getJSONObject("value"),dataParts);
|
||||
List<PlateDetail> plateDetails = (List<PlateDetail>) apiTypeChangeRealize.apiPlateDataChange(dataPlates.getJSONObject("value"),dataParts,dataBody);
|
||||
System.out.println(plateDetails);
|
||||
return null;
|
||||
}
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
package com.cf.imes.module.executor.util.deviseData.dataTwo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 柜体基本信息
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BodyInfo {
|
||||
|
||||
// 板件所属信息
|
||||
private String roomsName; //房间名称
|
||||
private String roomNo; // 房间号
|
||||
private String bodyName; //柜体名
|
||||
private String bodyNo; // 柜体号
|
||||
// 柜体 长 宽 深
|
||||
private Double width;
|
||||
private Double height;
|
||||
private Double depth;
|
||||
|
||||
}
|
||||
+1
@@ -31,6 +31,7 @@ public class PlateDetail {
|
||||
|
||||
// 板件所属信息
|
||||
private String roomsName; //房间名称
|
||||
private String roomNo; // 房间号
|
||||
private String bodyName; //柜体名
|
||||
private String bodyNo; // 柜体号
|
||||
// 柜体 长 宽 深
|
||||
|
||||
+89
-31
@@ -2,11 +2,16 @@ package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
|
||||
import com.cf.imes.module.executor.util.deviseData.dataTwo.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
@@ -19,10 +24,14 @@ import java.util.stream.Collectors;
|
||||
/**
|
||||
* 实现数据格式转换
|
||||
*/
|
||||
@Service
|
||||
@Validated
|
||||
public class ApiTypeChangeRealize{
|
||||
public <T> List<?> apiPlateDataChange(JSONObject dataPlates, JSONObject dataParts){
|
||||
@Slf4j
|
||||
@Component
|
||||
public class ApiTypeChangeRealize {
|
||||
|
||||
@Resource
|
||||
private IdentifierGenerator identifierGenerator;
|
||||
|
||||
public <T> List<?> apiPlateDataChange(JSONObject dataPlates, JSONObject dataParts, JSONObject dataBody) {
|
||||
|
||||
// 配件数据分类
|
||||
List<PartsInfo> partsInfos = partsInfoChange(dataParts);
|
||||
@@ -31,18 +40,54 @@ public class ApiTypeChangeRealize{
|
||||
partsInfo -> partsInfo.getBodyNo() != null ? partsInfo.getBodyNo() : " ",
|
||||
Collectors.toList()
|
||||
));
|
||||
|
||||
// 柜体信息
|
||||
List<BodyInfo> bodyInfos = bodyInfoChange(dataBody);
|
||||
Map<String, List<BodyInfo>> bodyMap = bodyInfos.stream()
|
||||
.collect(Collectors.groupingBy(
|
||||
bodyInfo -> bodyInfo.getBodyNo() != null ? bodyInfo.getBodyNo() : " ",
|
||||
Collectors.toList()
|
||||
));
|
||||
// 放入板材
|
||||
List<PlateDetail> plateDetails = platesInfoChange(dataPlates);
|
||||
List<PlateDetail> plateDetails = platesInfoChange(dataPlates,);
|
||||
for (PlateDetail plateDetail : plateDetails) {
|
||||
if (partsMap.get(plateDetail.getBodyNo()) != null){
|
||||
if (partsMap.get(plateDetail.getBodyNo()) != null) {
|
||||
plateDetail.setPartsInfos(partsMap.get(plateDetail.getBodyNo()));
|
||||
}
|
||||
if (bodyMap.get(plateDetail.getBodyNo()) != null) {
|
||||
BodyInfo bodyInfo = bodyMap.get(plateDetail.getBodyNo()).get(0);
|
||||
plateDetail.setRoomsName(bodyInfo.getRoomsName()).setRoomNo(bodyInfo.getRoomNo())
|
||||
.setBodyName(bodyInfo.getBodyName()).setBodyNo(bodyInfo.getBodyNo())
|
||||
.setWidth(bodyInfo.getWidth()).setHeight(bodyInfo.getHeight()).setDepth(bodyInfo.getDepth());
|
||||
}
|
||||
}
|
||||
// 生产单信息获取
|
||||
OrderDO orderDO = orderInfoChange(dataPlates);
|
||||
Long orderId = orderDO.getId();// 生产单id
|
||||
|
||||
return plateDetails;
|
||||
}
|
||||
// 生产单信息获取
|
||||
public OrderDO orderInfoChange(JSONObject dataPlates){
|
||||
|
||||
private List<BodyInfo> bodyInfoChange(JSONObject dataBody) {
|
||||
List<BodyInfo> bodyInfos = new ArrayList<>();
|
||||
|
||||
dataBody.getJSONArray("List").forEach(item -> {
|
||||
JSONObject body = (JSONObject) item;
|
||||
BodyInfo bodyInfo = BodyInfo.builder()
|
||||
.roomsName(body.getString("Room"))
|
||||
.roomNo(body.getString("RoomID"))
|
||||
.bodyName(body.getString("Name"))
|
||||
.bodyNo(body.getString("BoxID"))
|
||||
.width(body.getDouble("Width"))
|
||||
.height(body.getDouble("Height"))
|
||||
.depth(body.getDouble("Depth"))
|
||||
.build();
|
||||
bodyInfos.add(bodyInfo);
|
||||
});
|
||||
return bodyInfos;
|
||||
}
|
||||
|
||||
// 生产单信息获取
|
||||
public OrderDO orderInfoChange(JSONObject dataPlates) {
|
||||
List<PlateDetail> plateDetails = new ArrayList<>();
|
||||
// 获取 Orders 字段对应的数组
|
||||
JSONObject order = dataPlates.getJSONObject("Orders");
|
||||
@@ -50,31 +95,33 @@ public class ApiTypeChangeRealize{
|
||||
// 如果 Orders 数组不为空,则获取第一个订单对象
|
||||
if (order != null && !order.isEmpty()) {
|
||||
// 获取生产单信息
|
||||
// 使用 DateTimeFormatter 解析日期字符串
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
LocalDate deliveryDate = LocalDate.parse(order.getString("DeliveryDate"), formatter);
|
||||
// 使用 DateTimeFormatter 解析日期字符串
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
LocalDate deliveryDate = LocalDate.parse(order.getString("DeliveryDate"), formatter);
|
||||
|
||||
OrderDO orderDO = OrderDO.builder()
|
||||
.parentNo(0L)
|
||||
.orderType(true)
|
||||
.orderSort(0)
|
||||
.dataType(1)
|
||||
.status(0)
|
||||
.customOrderNo(order.getString("OrderNo"))
|
||||
.customer(order.getString("Consigee"))
|
||||
.address(order.getString("ConsigeeAddress"))
|
||||
.phoneNumber(order.getString("ConsigeePhone"))
|
||||
.dealer(order.getString("CustomName"))
|
||||
.salesman(order.getString("SalePerson"))
|
||||
.remark(order.getString("Remark"))
|
||||
.deliveryDate(deliveryDate.atStartOfDay())
|
||||
.build();
|
||||
return orderDO;
|
||||
OrderDO orderDO = OrderDO.builder()
|
||||
.id(identifierGenerator.nextId(null).longValue())
|
||||
.parentNo(0L)
|
||||
.orderType(true)
|
||||
.orderSort(0)
|
||||
.dataType(1)
|
||||
.status(0)
|
||||
.customOrderNo(order.getString("OrderNo"))
|
||||
.customer(order.getString("Consigee"))
|
||||
.address(order.getString("ConsigeeAddress"))
|
||||
.phoneNumber(order.getString("ConsigeePhone"))
|
||||
.dealer(order.getString("CustomName"))
|
||||
.salesman(order.getString("SalePerson"))
|
||||
.remark(order.getString("Remark"))
|
||||
.deliveryDate(deliveryDate.atStartOfDay())
|
||||
.build();
|
||||
return orderDO;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
// 板材数据转换
|
||||
public List<PlateDetail> platesInfoChange(JSONObject dataPlates){
|
||||
|
||||
// 板材数据转换
|
||||
public List<PlateDetail> platesInfoChange(JSONObject dataPlates) {
|
||||
List<PlateDetail> plateDetails = new ArrayList<>();
|
||||
// 获取 Orders 字段对应的数组
|
||||
JSONArray ordersArray = dataPlates.getJSONArray("Orders");
|
||||
@@ -82,13 +129,24 @@ public class ApiTypeChangeRealize{
|
||||
// 如果 Orders 数组不为空,则获取第一个订单对象
|
||||
if (ordersArray != null && !ordersArray.isEmpty()) {
|
||||
// 获取生产单信息
|
||||
List<RawGoodsDO> rawGoodsDOS = new ArrayList<>();
|
||||
for (int i = 0; i < ordersArray.size(); i++) {
|
||||
JSONObject order = ordersArray.getJSONObject(i);
|
||||
// 获取材料信息
|
||||
if (order.getJSONArray("Materials") != null && !order.getJSONArray("Materials").isEmpty()) {
|
||||
for (int j = 0; j < order.getJSONArray("Materials").size(); j++) {
|
||||
JSONObject material = order.getJSONArray("Materials").getJSONObject(j);
|
||||
|
||||
// rawGoodsDOS.add(RawGoodsDO.builder()
|
||||
// .id(identifierGenerator.nextId(null).longValue())
|
||||
// .orderId(organId)
|
||||
// .goodsName(material.getString("MaterialName"))
|
||||
// .material(material.getString("MaterialName"))
|
||||
// .color(material.getString("Color"))
|
||||
// .brand(material.getString("Brand"))
|
||||
// .price(material.getDouble("Price"))
|
||||
// .spec(material.getString("Spec"))
|
||||
// .unit(material.getString("Unit"))
|
||||
// .build());
|
||||
// 板件信息
|
||||
if (material.getJSONArray("Blocks") != null && !material.getJSONArray("Blocks").isEmpty()) {
|
||||
for (int k = 0; k < material.getJSONArray("Blocks").size(); k++) {
|
||||
|
||||
+7
-1
@@ -46,11 +46,17 @@ public class PlateServiceImpl implements PlateService {
|
||||
@Override
|
||||
public Long createPlate(PlateSaveReqVO createReqVO) {
|
||||
PlateDO plate = BeanUtils.toBean(createReqVO, PlateDO.class);
|
||||
if (createReqVO.getOrganId() == null && createReqVO.getOrganId() == 0 ){
|
||||
if (createReqVO.getOrganId() != null && createReqVO.getOrganId() != 0 ){
|
||||
validateOrganExists(createReqVO.getOrganId());
|
||||
validateGoodExists(createReqVO.getGoodsId(), createReqVO.getOrganId());
|
||||
plate.setOrganId(OrganContextHolder.getOrganId());
|
||||
}
|
||||
// 判断板材是否存在
|
||||
PlateDO existPlate = plateMapper.selectByGoodID(createReqVO.getGoodsId(), OrganContextHolder.getOrganId());
|
||||
System.out.println(" existPlate " + existPlate);
|
||||
if (existPlate != null){
|
||||
throw exception(ErrorCodeConstants.PLATE_EXISTS);
|
||||
}
|
||||
plateMapper.insert(plate);// 组织id未传输
|
||||
// 返回
|
||||
return plate.getId();
|
||||
|
||||
+1
@@ -179,6 +179,7 @@ public interface ErrorCodeConstants {
|
||||
|
||||
//=========== 工序信息 1-002-028-000 ============
|
||||
ErrorCode PROCESS_NOT_EXISTS = new ErrorCode(1_002_028_000, "工序不存在");
|
||||
ErrorCode PROCESS_IS_ENABLED = new ErrorCode(1_002_028_000, "工序以启用,禁止关闭");
|
||||
ErrorCode PROCESS_ID_IS_NULL = new ErrorCode(1_002_028_000, "工序ID填写错误不存在");
|
||||
ErrorCode PROCESS_STATUS_DISABLE = new ErrorCode(1_002_028_000, "工序状态以已禁用");
|
||||
|
||||
|
||||
+8
@@ -9,6 +9,8 @@ import com.cf.imes.module.system.dal.dataobject.process.ProcessGroupDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 工序组表 process_group Mapper
|
||||
*
|
||||
@@ -32,4 +34,10 @@ public interface ProcessGroupMapper extends BaseMapperX<ProcessGroupDO> {
|
||||
ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
|
||||
|
||||
int updateIsDefault(@Param("processGroupId") Long processGroupId, @Param("organId") Long organId);
|
||||
|
||||
// 模糊匹配items
|
||||
default List<ProcessGroupDO> selectListByItems(@Param("items") String items) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessGroupDO>()
|
||||
.likeIfPresent(ProcessGroupDO::getItems, items));
|
||||
}
|
||||
}
|
||||
+5
-2
@@ -42,9 +42,12 @@ public interface ProcessMapper extends BaseMapperX<ProcessDO> {
|
||||
|
||||
ProcessDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
|
||||
|
||||
default List<ProcessDO> selectAll() {
|
||||
default List<ProcessDO> selectAll(Long organId) {
|
||||
return selectList(new LambdaQueryWrapperX<ProcessDO>()
|
||||
.orderByDesc(ProcessDO::getId));
|
||||
.orderByDesc(ProcessDO::getId)
|
||||
.eqIfPresent(ProcessDO::getOrganId, organId)
|
||||
.eqIfPresent(ProcessDO::getIsEnabled, true));
|
||||
}
|
||||
|
||||
int deleteById(@Param("id") Long id);
|
||||
}
|
||||
+22
-2
@@ -7,6 +7,7 @@ import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.process.*;
|
||||
import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO;
|
||||
import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO;
|
||||
import com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper;
|
||||
import com.cf.imes.module.system.enums.ErrorCodeConstants;
|
||||
import com.cf.imes.module.system.service.user.AdminUserService;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -41,6 +42,9 @@ public class ProcessServiceImpl implements ProcessService {
|
||||
@Resource
|
||||
private ProcessMapper processMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessGroupMapper processGroupMapper;
|
||||
|
||||
@Resource
|
||||
private ProcessUserService processUserService;
|
||||
|
||||
@@ -84,7 +88,9 @@ public class ProcessServiceImpl implements ProcessService {
|
||||
// 校验存在
|
||||
validateProcessExists(updateReqVO.getId());
|
||||
if (updateReqVO.getIsEnabled()) {//为禁用
|
||||
throw exception(PROCESS_STATUS_DISABLE);
|
||||
if (isProcessUsed(String.valueOf(updateReqVO.getId()))){
|
||||
throw exception(PROCESS_IS_ENABLED);
|
||||
}
|
||||
}
|
||||
|
||||
ProcessDO updateProcess = BeanUtils.toBean(updateReqVO, ProcessDO.class);
|
||||
@@ -111,11 +117,23 @@ public class ProcessServiceImpl implements ProcessService {
|
||||
}
|
||||
processMapper.updateById(updateProcess);
|
||||
}
|
||||
// 判断此工序是否已在工序组中使用
|
||||
public boolean isProcessUsed(String items) {
|
||||
System.out.println("processGroupMapper.selectListByItems(items) " + processGroupMapper.selectListByItems(items));
|
||||
System.out.println(processGroupMapper.selectListByItems(items) != null);
|
||||
System.out.println(processGroupMapper.selectListByItems(items).size());
|
||||
if (processGroupMapper.selectListByItems(items) != null)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteProcess(Long id) {
|
||||
// 校验存在
|
||||
validateProcessExists(id);
|
||||
if (isProcessUsed(String.valueOf(id))){
|
||||
throw exception(PROCESS_IS_ENABLED);
|
||||
}
|
||||
// 删除
|
||||
processMapper.deleteById(id);
|
||||
|
||||
@@ -163,7 +181,9 @@ public class ProcessServiceImpl implements ProcessService {
|
||||
|
||||
@Override
|
||||
public List<ProcessDO> getAllProcess() {
|
||||
List<ProcessDO> processDOList = processMapper.selectAll();
|
||||
// 获取组织id
|
||||
Long organId = OrganContextHolder.getOrganId();
|
||||
List<ProcessDO> processDOList = processMapper.selectAll(organId);
|
||||
return processDOList;
|
||||
}
|
||||
|
||||
|
||||
+5
@@ -67,4 +67,9 @@
|
||||
from process p
|
||||
where p.id = #{id} and p.organ_id = #{organId} and p.deleted = 0
|
||||
</select>
|
||||
|
||||
<delete id="deleteById" parameterType="java.lang.Long">
|
||||
DELETE FROM process
|
||||
WHERE id = #{id};
|
||||
</delete>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user