Merge branch 'main' of ssh://192.168.1.205:9922/cf_devdept2/cf_imes_server

This commit is contained in:
lym
2024-07-09 09:11:52 +08:00
52 changed files with 586 additions and 99 deletions
@@ -85,8 +85,8 @@ public class PackController {
@Operation(summary = "查看生产订单对应的包裹信息")
@PreAuthorize("@ss.hasPermission('manage:pack:query')")
public CommonResult<PageResult<OrderPackageVO>> getOrderPack(@Valid PackageDetailsReqVO reqVO) {
PageResult<OrderPackageDO> orderPack = packService.getOrderPack(reqVO);
return success(BeanUtils.toBean(orderPack,OrderPackageVO.class));
return success(packService.getOrderPack(reqVO));
}
@@ -122,9 +122,9 @@ public class PackController {
@GetMapping("/getParts")
@Operation(summary = "查看配件列表分页")
@Operation(summary = "查看配件列表")
@PreAuthorize("@ss.hasPermission('manage:pack-parts:query')")
public CommonResult<PageResult<OrderPartsRespVO>> getParts(@Valid OrderPartsReqVO reqVO) {
public CommonResult<List<OrderPartsRespVO>> getParts(@Valid OrderPartsReqVO reqVO) {
return success(packService.getPartsList(reqVO));
@@ -216,9 +216,9 @@ public class PackController {
@PostMapping("/insertParts")
@Operation(summary = "新增配件包裹")
@PreAuthorize("@ss.hasPermission('manage:pack:insert')")
// @PostMapping("/insertParts")
// @Operation(summary = "新增配件包裹")
// @PreAuthorize("@ss.hasPermission('manage:pack:insert')")
public CommonResult<OrderPackRespVO> addNewPartsPack (@Valid @RequestBody OrderPackReqVO reqVO) {
return success(packService.addNewPartsPack(reqVO));
@@ -250,7 +250,7 @@ public class PackController {
@DeleteMapping("/deleteOtherParts")
@Operation(summary = "删除配件包裹中的配件(删除某一个)")
@Operation(summary = "删除包裹中的外部配件")
@PreAuthorize("@ss.hasPermission('manage:pack:delete')")
public CommonResult<Boolean> deleteOtherParts (@Valid @RequestBody DeleteOtherPartsReqVO reqVO) {
@@ -23,7 +23,7 @@ public class OrderPartsReqVO extends PageParam {
@Schema(description = "更新配件时传-包裹ID")
private Long packId;
@Schema(description = "更新配件时传-新增的配件ID")
@Schema(description = "新增的配件ID")
private List<Long> addPartsIdList;
@Schema(description = "更新配件时传-删除的配件ID")
@@ -26,6 +26,9 @@ public class PlateDetailsRespVO {
@Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String bodyId;
@Schema(description = "生产单ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String orderId;
@Schema(description = "板材ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String plateId;
@@ -18,6 +18,9 @@ public class ProcessStepStatus {
// 工序明细表的状态
private Boolean processStepItemStatus;
// 工序ID
private Long processId;
// 工序步骤表的类型
private Integer type;
@@ -18,6 +18,18 @@ public class OrderPackageVO {
@Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED)
private Long orderId;
@Schema(description = "自定义单号")
private String customOrderNo;
@Schema(description = "客户")
private String customer;
@Schema(description = "客户地址")
private String address;
@Schema(description = "经销商")
private String dealer;
@Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED)
private String packageNo;
@@ -33,8 +45,11 @@ public class OrderPackageVO {
@Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED)
private String creator;
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
private String remark;
@Schema(description = "包裹备注", requiredMode = Schema.RequiredMode.REQUIRED)
private String packRemark;
@Schema(description = "生产单备注", requiredMode = Schema.RequiredMode.REQUIRED)
private String orderRemark;
@Schema(description = "出库人", requiredMode = Schema.RequiredMode.REQUIRED)
private String updater;
@@ -8,6 +8,10 @@ import lombok.Data;
@Data
public class PackageDetailsRespVO {
@Schema(description = "生产单ID", requiredMode = Schema.RequiredMode.REQUIRED)
private String orderId;
@Schema(description = "房间名称-板材类型显示", requiredMode = Schema.RequiredMode.REQUIRED)
private String roomName;
@@ -7,6 +7,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -25,7 +26,7 @@ public interface OrderPackageMapper extends BaseMapperX<OrderPackageDO> {
// }
IPage<OrderPackageDO> selectByOrderNo(@Param("page") IPage page,@Param("reqVO") PackageDetailsReqVO reqVO,@Param("organId") Long organId);
IPage<OrderPackageVO> selectByOrderNo(@Param("page") IPage page, @Param("reqVO") PackageDetailsReqVO reqVO, @Param("organId") Long organId);
default OrderPackageDO selectByPackNo(String packNo,Long organId) {
@@ -22,7 +22,7 @@ public interface OrderPartsMapper extends BaseMapperX<OrderPartsNDO> {
IPage<PackageDetailsRespVO> selectParts(@Param("page") IPage page, @Param("packageId") Long packageId, @Param("organId") Long organId);
IPage<OrderPartsRespVO> selectPartsList(@Param("page") IPage page, @Param("orderId") Long orderId , @Param("organId") Long organId);
List<OrderPartsRespVO> selectPartsList( @Param("orderId") Long orderId , @Param("organId") Long organId);
@@ -3,6 +3,7 @@ package com.cf.imes.module.manage.service.pack;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
@@ -16,7 +17,7 @@ public interface PackService {
// 查看生产订单对应的包裹信息
PageResult<OrderPackageDO> getOrderPack(PackageDetailsReqVO reqVO);
PageResult<OrderPackageVO> getOrderPack(PackageDetailsReqVO reqVO);
@@ -34,7 +35,7 @@ public interface PackService {
// 查看配件列表分页
PageResult<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO);
List<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO);
OrderPackRespVO updateParts(OrderPartsReqVO reqVO);
@@ -71,7 +72,7 @@ public interface PackService {
// 删除配件包裹中的配件(删除某一个)
// 删除包裹中的外部配件
void deleteOtherParts(DeleteOtherPartsReqVO reqVO);
@@ -11,6 +11,7 @@ import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.module.manage.controller.admin.pack.vo.*;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO;
import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderDO;
@@ -38,8 +39,8 @@ import java.util.Objects;
import java.util.stream.Collectors;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.manage.util.search.SearchUtil.insertSeparator;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
@Service
@@ -139,11 +140,11 @@ public class PackServiceImpl implements PackService {
// 查看生产订单对应的包裹信息
@Override
public PageResult<OrderPackageDO> getOrderPack(PackageDetailsReqVO reqVO) {
public PageResult<OrderPackageVO> getOrderPack(PackageDetailsReqVO reqVO) {
PageDTO<OrderPackageDO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
PageDTO<OrderPackageVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
IPage<OrderPackageDO> orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,reqVO, getUserOrganId());
IPage<OrderPackageVO> orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,reqVO, getUserOrganId());
if (CollectionUtil.isEmpty(orderPackageDOIPage.getRecords())) {
@@ -165,18 +166,14 @@ public class PackServiceImpl implements PackService {
// 查看配件列表分页
@Override
public PageResult<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO) {
public List<OrderPartsRespVO> getPartsList(OrderPartsReqVO reqVO) {
PageDTO<OrderPartsRespVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
// PageDTO<OrderPartsRespVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
IPage<OrderPartsRespVO> orderPartsRespVOS = orderPartsMapper.selectPartsList(page,reqVO.getOrderId(),getUserOrganId());
if (CollectionUtil.isEmpty(orderPartsRespVOS.getRecords())) {
return new PageResult<>();
}
List<OrderPartsRespVO> orderPartsRespVOS = orderPartsMapper.selectPartsList(reqVO.getOrderId(),getUserOrganId());
return new PageResult<>(orderPartsRespVOS.getRecords(), orderPartsRespVOS.getTotal());
return orderPartsRespVOS;
}
@@ -188,6 +185,24 @@ public class PackServiceImpl implements PackService {
@Transactional(rollbackFor = Exception.class)
public OrderPackRespVO updateParts(OrderPartsReqVO reqVO) {
// 判断包裹ID是否为空,为空,走新增,不为空,走更新
if(reqVO.getPackId()==null){
OrderPackageDO orderPackageDO = new OrderPackageDO();
orderPackageDO.setOrderId(reqVO.getOrderId());
orderPackageDO.setType(OrderPackageTypeEnum.PARTS.getType());
orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo());
orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus()));
orderPackageMapper.insert(orderPackageDO);
// 生产单明细表新增包裹 ID
if(reqVO.getAddPartsIdList()!=null) {
orderItemMapper.insertPartsId( orderPackageDO.getId(),reqVO.getAddPartsIdList());
}
return typeConversion(orderPackageDO);
}
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(reqVO.getPackId(), getUserOrganId());
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackList(reqVO.getPackId(), getUserOrganId());
@@ -433,6 +448,13 @@ public class PackServiceImpl implements PackService {
throw exception(THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT);
}
// 判断配件名称是否重复
OrderPartsNDO orderPartsNDO = orderPartsMapper.selectOneParts(reqVO.getName(),getUserOrganId());
if (orderPartsNDO != null) {
throw exception(THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED);
}
// 配件表新增数据
OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class);
// 因为是外部配件,所以配件类型的名称固定为 “ 外部配件”
@@ -459,7 +481,7 @@ public class PackServiceImpl implements PackService {
// 删除配件包裹中的配件(删除某一个)
// 删除包裹中的外部配件
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) {
@@ -34,9 +34,9 @@ import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.manage.util.search.SearchUtil.insertSeparator;
/**
@@ -147,7 +147,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
if(orderProcessStepItemNDOS.isEmpty()){
// 修改生产单工序步骤表的状态
BigDecimal salary = calculateSalary(reqVo.getProcessStepId());
BigDecimal salary = calculateSalary(reqVo.getProcessStepId(),processStepStatuses.getProcessId());
processStepMapper.updateStatusById(reqVo.getProcessStepId(),salary);
@@ -181,7 +181,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
}
try {
BigDecimal salary = calculateSalary(reqVo.getProcessStepId());
BigDecimal salary = calculateSalary(reqVo.getProcessStepId(),null);
// 修改生产明细表和步骤表的工序状态
processStepMapper.updateStatus(reqVo.getProcessStepId(),nickname,salary);
@@ -201,15 +201,16 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
// 计算工资金额
public BigDecimal calculateSalary(Long processStepId){
public BigDecimal calculateSalary(Long processStepId,Long processId){
BigDecimal pieceRate = BigDecimal.ZERO;
// 查询当前工序对应的板材的面积
BigDecimal area = processStepItemMapper.selectAreaByProcessStepId(processStepId,getUserOrganId());
// 查询组件加工的工资
BigDecimal pieceRate = processApi.getProcess();
if(processId != null){
// 查询组件加工的工资
pieceRate = processApi.getProcess(processId);
}
// 计算当前工序的工资金额
BigDecimal salary = processStepMapper.calculateSalary(processStepId, area,pieceRate,getUserOrganId());
@@ -1,42 +0,0 @@
package com.cf.imes.module.manage.util.search;
/**
* 模糊搜索 工具类
*
* @author 晨丰科技
*/
public class SearchUtil {
/**
* 拼接需要模糊搜索的字符串
*
*
*/
public static String insertSeparator(String input) {
// 如果输入字符串为空,直接返回空字符串
if (input == null || input.isEmpty()) {
return input;
}
// 使用StringBuilder进行字符串拼接
StringBuilder result = new StringBuilder();
// 遍历输入字符串的每个字符
for (int i = 0; i < input.length(); i++) {
result.append(input.charAt(i));
// 如果不是最后一个字符,添加分隔符
if (i < input.length() - 1) {
result.append("%");
}
}
// 返回拼接后的字符串
return result.toString();
}
}
@@ -134,12 +134,28 @@
<select id="selectByOrderNo"
resultType="com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO"
resultType="com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO"
parameterType="map">
select distinct
opn.*
opn.id,
opn.order_id,
opn.package_no,
opn.type,
opn.status,
opn.organ_id,
opn.creator,
opn.remark as packRemark,
opn.updater,
opn.update_time,
opn.create_time,
o.custom_order_no,
o.dealer,
o.customer,
o.address,
o.remark as orderRemark
from order_package opn
join orders o on opn.order_id = o.id and opn.organ_id = o.organ_id
join order_item oi on opn.id = oi.package_id and opn.organ_id = oi.organ_id
left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
@@ -60,6 +60,7 @@
select distinct
ops.order_id as orderId,
opsi.status as processStepItemStatus,
ops.processinfo_id as processId,
ops.status as processStepStatus,
ops.type as type
from order_process_step_item opsi
@@ -4,6 +4,7 @@
<resultMap id="orderItemMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO">
<result property="orderId" column="orderId"/>
<result property="roomName" column="roomName"/>
<result property="cabinetName" column="bodyName"/>
<result property="plateId" column="plateId"/>
@@ -30,6 +31,7 @@
resultMap="orderItemMap">
select distinct
op.order_id as orderId,
og.name as name,
ob.room_name as roomName,
ob.name as bodyName,
@@ -117,6 +119,7 @@
<result property="cabinetName" column="bodyName"/>
<result property="plateId" column="plateId"/>
<result property="plateNo" column="plateNo"/>
<result property="orderId" column="orderId"/>
<result property="plateName" column="plateName"/>
<result property="material" column="plateMaterial"/>
<result property="color" column="plateColor"/>
@@ -143,6 +146,7 @@
op.name as plateName,
ogs.material as plateMaterial,
ogs.color as plateColor,
op.order_id as orderId,
op.height as plateHeight,
op.width as plateWidth,
op.thickness as plateThickness,
@@ -207,13 +211,13 @@
<update id="deleteOtherParts"
<delete id="deleteOtherParts"
parameterType="java.lang.Long">
DELETE FROM order_item
WHERE parts_id = #{partsId}
</update>
</delete>
@@ -425,6 +429,7 @@
op.name as plateName,
ogs.material as plateMaterial,
ogs.color as plateColor,
op.order_id as orderId,
op.height as plateHeight,
op.width as plateWidth,
op.thickness as plateThickness,
@@ -4,6 +4,7 @@
<resultMap id="partsMap" type="com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO">
<result property="orderId" column="orderId"/>
<result property="partsId" column="partsId"/>
<result property="name" column="name"/>
<result property="type" column="type"/>
@@ -24,6 +25,7 @@
select distinct
op.order_id as orderId,
op.id as partsId,
op.name as name,
op.model as model,