生产工序代码-生产工序修改

This commit is contained in:
liuzhaotian
2024-05-07 11:04:37 +08:00
parent 83e5324257
commit cb987c6ec5
12 changed files with 131 additions and 199 deletions
@@ -49,40 +49,18 @@ public class ProductionProcessController {
@GetMapping("/select")
@Operation(summary = "根据工序号查看生产工序下的加工项")
@PreAuthorize("@ss.hasPermission('manage:process:query')")
public CommonResult<List<OrderProcessStepItemVO>> selectProcess(@Valid OrderProcessReqVO reqVO){
List<OrderProcessStepItemVO> orderProcessById = productionProcessService.getOrderProcessById(reqVO);
return CommonResult.success(orderProcessById);
}
@PutMapping("/update")
@Operation(summary = "根据工序明细 ID 修改生产工序明细表的状态")
@Parameter(name = "id", description = "工序明细ID", required = true, example = "1")
@Operation(summary = "修改生产工序明细和步骤表的状态")
@PreAuthorize("@ss.hasPermission('manage:process:update')")
public CommonResult<Boolean> updateProcessStatus(@Valid @RequestParam("id") Long id){
productionProcessService.updateProcessStatus(id);
public CommonResult<Boolean> updateProcessStatus(@Valid @RequestBody OrderProcessStepItemVO reqVo){
productionProcessService.updateProcessStatus(reqVo);
return success(true);
}
@PutMapping("/updateAll")
@Operation(summary = "修改生产步骤表的工序状态")
@PreAuthorize("@ss.hasPermission('manage:process:update')")
public CommonResult<Boolean> updateAllProcessStatus(@Valid @RequestBody OrderProStepReqVO reqVO){
productionProcessService.updateAllProcessStatus(reqVO);
return success(true);
}
@GetMapping("/selectPlateName")
@@ -6,24 +6,19 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Schema(description = "管理后台 - 生产单工序步骤表 order_process_step_{N} Response VO")
@Schema(description = "管理后台 Response VO")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class OrderProcessStepItemVO {
@Schema(description = "主键-工序明细ID")
private Long id;
@Schema(description = "工序明细ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "11")
private Long stepItemId;
@Schema(description = "加工项名称")
private String name;
@Schema(description = "工序ID")
private Long orderProcessId;
@Schema(description = "工序名称")
private String stepName;
@Schema(description = "工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "11")
private Long stepId;
@@ -14,7 +14,7 @@ import lombok.ToString;
public class ProcessPageReqVO extends PageParam {
@Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12")
@Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "11")
private Long id;
@Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
@@ -11,12 +11,9 @@ import java.time.LocalDateTime;
@Data
public class ProcessRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788")
@Schema(description = "主键-生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11")
private Long id;
@Schema(description = "生产单工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788")
private Long processStepId;
@Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String customOrderNo;
@@ -45,6 +42,23 @@ public class ProcessRespVO {
private String phoneNumber;
@Schema(description = "生产单工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "123")
private Long processStepId;
@Schema(description = "工序明细ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "123")
private Long processStepItemId;
@Schema(description = "加工项名称", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String name;
@Schema(description = "工序名称", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String stepName;
@Schema(description = "加工人", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String manager;
@Schema(description = "业务员", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String salesman;
@@ -58,7 +72,6 @@ public class ProcessRespVO {
@Schema(description = "已打包数", requiredMode = Schema.RequiredMode.REQUIRED)
private Long packCount;
@@ -0,0 +1,18 @@
package com.cf.imes.module.manage.controller.admin.process.vo;
import lombok.Data;
@Data
public class ProcessStepStatus {
// 工序步骤表的状态
private Boolean processStepStatus;
// 工序明细表的状态
private Boolean processStepItemStatus;
// 工序步骤表的类型
private Long type;
}
@@ -19,34 +19,8 @@ import java.util.List;
public interface OrderProcessMapper extends BaseMapperX<OrderProcessNDO> {
default OrderProcessNDO queryProcess( Long processId , Long orderNo) {
return selectOne(new LambdaQueryWrapperX<OrderProcessNDO>()
.eqIfPresent(OrderProcessNDO::getId, processId)
.eqIfPresent(OrderProcessNDO::getOrderId,orderNo));
}
default OrderProcessNDO selectByProcessId(Long id) {
return selectOne(new LambdaQueryWrapperX<OrderProcessNDO>()
.eqIfPresent(OrderProcessNDO::getId, id));
}
default OrderProcessNDO selectStatusById( Long id ) {
return selectOne(new LambdaQueryWrapperX<OrderProcessNDO>()
.eqIfPresent(OrderProcessNDO::getId, id));
}
@Update("UPDATE order_process SET status = #{status} WHERE id = #{id}")
void updateStatusById(@Param("id") Long id, @Param("status") Boolean status);
}
@@ -2,11 +2,14 @@ package com.cf.imes.module.manage.dal.mysql.process;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.manage.controller.admin.process.vo.*;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@@ -22,10 +25,21 @@ public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemN
List<OrderModuleVO> selectPlateName(Long processStepId);
List<OrderProcessStepItemVO> selectItemProcess(OrderProcessReqVO reqVO);
void updateStatus(@Param("id") Long id);
ProcessStepStatus selectStatusById(@Param("id") Long id);
@Update("update order_process_step_item set status = true where id = #{stepItemId}")
void updateStemStatus(Long stepItemId);
void updateStatus(OrderProStepReqVO reqVO);
default List<OrderProcessStepItemNDO> selectStemById(Long stepId,Boolean status) {
return selectList(new LambdaQueryWrapperX<OrderProcessStepItemNDO>()
.eqIfPresent(OrderProcessStepItemNDO::getStatus,status)
.eqIfPresent(OrderProcessStepItemNDO::getProcessStepId,stepId));
}
}
@@ -3,8 +3,6 @@ package com.cf.imes.module.manage.dal.mysql.process;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProStepReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.ProductionGroupVO;
@@ -13,7 +11,6 @@ import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@@ -26,19 +23,12 @@ import java.util.List;
public interface ProcessStepMapper extends BaseMapperX<OrderProcessStepNDO> {
default OrderProcessStepNDO selectStatusById(Long id) {
return selectOne(new LambdaQueryWrapperX<OrderProcessStepNDO>()
.eqIfPresent(OrderProcessStepNDO::getId, id));
}
List<ProcessRespVO> selectOrder(ProcessPageReqVO pageReqVO);
void updateStatusById(@Param("id") Long id, @Param("status") Boolean status);
void updateStatusById(@Param("id") Long id);
// default List<OrderProcessStepNDO> selectProducitonList(Long orderNo) {
// return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>()
@@ -15,21 +15,12 @@ public interface ProductionProcessService {
// 查询工序订单下的加工项的详情
List<OrderProcessStepItemVO> getOrderProcessById(OrderProcessReqVO reqVO);
// 修改工序明细表的工序状态
void updateProcessStatus(Long id);
void updateProcessStatus(OrderProcessStepItemVO reqVo);
// 修改生产步骤表的工序状态
void updateAllProcessStatus(OrderProStepReqVO reqVO);
// 查看板材信息的组合名称
List<OrderModuleVO> selectPlateName(Long stepItemId);
@@ -17,6 +17,7 @@ import com.cf.imes.module.manage.util.page.PageHelperUtil;
import com.cf.imes.module.system.enums.ErrorCodeConstants;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -40,8 +41,6 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
@Resource
private ProcessStepMapper processStepMapper;
@Resource
private OrderProcessMapper orderProcessMapper;
@Resource
private ProcessStepItemMapper processStepItemMapper;
@@ -67,28 +66,6 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
// 转换成 PageResult 分页类型
return PageHelperUtil.convertToPageResult(pageInfo);
}
// 查询工序订单下的加工项的详情
@Override
public List<OrderProcessStepItemVO> getOrderProcessById(OrderProcessReqVO reqVO) {
List<OrderProcessStepItemVO> orderProcessStepItemVOS = processStepItemMapper.selectItemProcess(reqVO);
// 判断生产明细表在传入的状态查询后是否为空
if(orderProcessStepItemVOS.isEmpty()){
// 修改生产步骤表的工序状态
processStepMapper.updateStatusById(reqVO.getProcessStepId(),ProcessingStatusEnum.PROCESSED.getStatus());
return null;
}
return orderProcessStepItemVOS;
}
@@ -96,28 +73,46 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
// 修改工序明细表的工序状态
@Override
public void updateProcessStatus(Long id) {
public void updateProcessStatus(OrderProcessStepItemVO reqVo) {
// 根据工序明细 id 查询当前生产单步骤和明细的生产状态
ProcessStepStatus processStepStatuses = processStepItemMapper.selectStatusById(reqVo.getStepItemId());
// 根据步骤 id 查询当前生产单工序的状态
OrderProcessStepItemNDO orderProcessStepItemNDO = processStepItemMapper.selectById(id);
// 判断生产明细表的状态查询后是否为空
if(processStepStatuses.getProcessStepItemStatus().equals(ProcessingStatusEnum.PROCESSED.getStatus())){
// 未加工状态
Boolean status = orderProcessStepItemNDO.getStatus();
// 未加工状态才可进行加工
if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
}
// 判断生产工序步骤表的状态是否为空
if(processStepStatuses.getProcessStepStatus().equals(ProcessingStatusEnum.PROCESSED.getStatus())){
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
}
// 判断生产单工序的状态是否为组件加工
if(processStepStatuses.getType() == 7){
// 更新加工状态
orderProcessStepItemNDO.setStatus(ProcessingStatusEnum.PROCESSED.getStatus());
processStepItemMapper.updateById(orderProcessStepItemNDO);
processStepItemMapper.updateStemStatus(reqVo.getStepItemId());
List<OrderProcessStepItemNDO> orderProcessStepItemNDOS = processStepItemMapper.selectStemById(reqVo.getStepId(),ProcessingStatusEnum.RAW.getStatus());
if(orderProcessStepItemNDOS.isEmpty()){
// 修改生产单工序步骤表的状态
processStepMapper.updateStatusById(reqVo.getStepId());
}
return;
}
try {
// 修改生产明细表和步骤表的工序状态
processStepItemMapper.updateStatus(reqVo.getStepItemId());
}catch (Exception e){
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
}
@@ -127,43 +122,6 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
// 修改生产步骤表的工序状态
@Override
public void updateAllProcessStatus(OrderProStepReqVO reqVO) {
OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectStatusById(reqVO.getProcessStepId());
// 未加工状态
Boolean status = orderProcessStepNDO.getStatus();
// 未加工状态才可进行加工
if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
}
// 修改生产单工序步骤表的状态为已加工
orderProcessStepNDO.setStatus(ProcessingStatusEnum.PROCESSED.getStatus());
processStepMapper.updateById(orderProcessStepNDO);
// 修改生产单明细表的生产状态
processStepItemMapper.updateStatus(reqVO);
/* // 查询当前工序步骤表的工序状态是否还有未加工
List<OrderProcessStepNDO> orderProcessStepNDOS = processStepMapper.selectStepList(reqVO, ProcessingStatusEnum.RAW.getStatus());*/
// 修改工序表的加工状态为已加工
orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(),ProcessingStatusEnum.PROCESSED.getStatus());
}
// 查看板材信息的组合名称
@Override
public List<OrderModuleVO> selectPlateName(Long stepItemId) {
@@ -19,25 +19,29 @@
<resultMap id="ItemMap" type="com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO">
<result property="id" column="id"/>
<result property="stepName" column="processName"/>
<result property="name" column="name"/>
<result property="orderProcessId" column="orderProcessId"/>
</resultMap>
<update id="updateStatus"
parameterType="java.lang.Long">
<select id="selectItemProcess"
resultMap="ItemMap"
parameterType="com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO">
update order_process_step_item opsi
JOIN order_process_step ops ON opsi.process_step_id = ops.id
SET opsi.status = TRUE,
ops.status = TRUE
WHERE opsi.id = #{id};
select opsi.name as name,
opsi.id as id,
ops.Name as processName,
op.group_id as orderProcessId
</update>
<select id="selectStatusById" resultType="com.cf.imes.module.manage.controller.admin.process.vo.ProcessStepStatus"
parameterType="java.lang.Long">
select opsi.status as processStepItemStatus,
ops.status as processStepStatus,
ops.type as type
from order_process_step_item opsi
join order_process op on opsi.order_process_id = op.id
join order_process_step ops on opsi.process_step_id = ops.id
where opsi.status = #{status} and opsi.process_step_id= #{processStepId} and ops.order_process_id = #{orderProcessId};
where opsi.id = #{id};
</select>
@@ -45,16 +49,5 @@
<update id="updateStatus"
parameterType= "com.cf.imes.module.manage.controller.admin.process.vo.OrderProStepReqVO">
update order_process_step_item set status = true where process_step_id = #{processStepId} and order_process_id = #{orderProcessId};
</update>
</mapper>
@@ -6,7 +6,7 @@
<update id="updateStatusById">
UPDATE order_process_step SET status = #{status} WHERE id = #{id}
UPDATE order_process_step SET status = true WHERE id = #{id}
</update>
@@ -15,12 +15,16 @@
<resultMap id="OrderMap" type="com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO">
<result property="id" column="id"/>
<result property="processStepId" column="processStepId"/>
<result property="id" column="orderId"/>
<result property="processStepItemId" column="stepItemId"/>
<result property="customOrderNo" column="customOrderNo"/>
<result property="customer" column="customer"/>
<result property="address" column="address"/>
<result property="status" column="status"/>
<result property="stepName" column="processName"/>
<result property="name" column="name"/>
<result property="manager" column="manager"/>
<result property="processStepId" column="processStepId"/>
</resultMap>
@@ -28,24 +32,29 @@
select distinct
ops.order_id as id,
ops.id as processStepId,
ops.order_id as orderId,
o.custom_order_no as customOrderNo,
o.customer as customer,
o.address as address,
ops.status as status
ops.status as status,
opsi.name as name,
opsi.id as stepItemId,
ops.Name as processName,
ops.manager as manager,
ops.id as processStepId
from order_process_step ops
join `order` o on ops.order_id = o.id
join order_process_step_item opsi on ops.id = opsi.process_step_id
<where>
<if test="id != null">
and ops.processinfo_id = #{id}
</if>
<if test="status != null">
and ops.status = #{status}
and opsi.status = #{status}
</if>
<if test="orderNo != null">
and ops.order_id = #{orderNo}
and o.id = #{orderNo}
</if>
<if test="customOrderNo != null">
and o.custom_order_no = #{customOrderNo}
@@ -64,7 +73,6 @@
<resultMap id="priceResultMap" type="com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO">
<result property="name" column="name"/>
<result property="priceRate" column="piece_rate"/>