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

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") @PutMapping("/update")
@Operation(summary = "根据工序明细 ID 修改生产工序明细表的状态") @Operation(summary = "修改生产工序明细和步骤表的状态")
@Parameter(name = "id", description = "工序明细ID", required = true, example = "1")
@PreAuthorize("@ss.hasPermission('manage:process:update')") @PreAuthorize("@ss.hasPermission('manage:process:update')")
public CommonResult<Boolean> updateProcessStatus(@Valid @RequestParam("id") Long id){ public CommonResult<Boolean> updateProcessStatus(@Valid @RequestBody OrderProcessStepItemVO reqVo){
productionProcessService.updateProcessStatus(id); productionProcessService.updateProcessStatus(reqVo);
return success(true); 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") @GetMapping("/selectPlateName")
@@ -6,24 +6,19 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@Schema(description = "管理后台 - 生产单工序步骤表 order_process_step_{N} Response VO") @Schema(description = "管理后台 Response VO")
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class OrderProcessStepItemVO { public class OrderProcessStepItemVO {
@Schema(description = "主键-工序明细ID") @Schema(description = "工序明细ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "11")
private Long id; private Long stepItemId;
@Schema(description = "加工项名称")
private String name;
@Schema(description = "工序ID") @Schema(description = "工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "11")
private Long orderProcessId; private Long stepId;
@Schema(description = "工序名称")
private String stepName;
@@ -14,7 +14,7 @@ import lombok.ToString;
public class ProcessPageReqVO extends PageParam { 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; private Long id;
@Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false")
@@ -11,12 +11,9 @@ import java.time.LocalDateTime;
@Data @Data
public class ProcessRespVO { public class ProcessRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") @Schema(description = "主键-生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11")
private Long id; private Long id;
@Schema(description = "生产单工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788")
private Long processStepId;
@Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String customOrderNo; private String customOrderNo;
@@ -45,6 +42,23 @@ public class ProcessRespVO {
private String phoneNumber; 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") @Schema(description = "业务员", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD")
private String salesman; private String salesman;
@@ -58,7 +72,6 @@ public class ProcessRespVO {
@Schema(description = "已打包数", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "已打包数", requiredMode = Schema.RequiredMode.REQUIRED)
private Long packCount; 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> { 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.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.process.vo.*;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; 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 com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@@ -22,10 +25,21 @@ public interface ProcessStepItemMapper extends BaseMapperX<OrderProcessStepItemN
List<OrderModuleVO> selectPlateName(Long processStepId); 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.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; 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.ProcessPageReqVO;
import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.ProductionGroupVO; 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 com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.List; import java.util.List;
@@ -26,19 +23,12 @@ import java.util.List;
public interface ProcessStepMapper extends BaseMapperX<OrderProcessStepNDO> { 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); List<ProcessRespVO> selectOrder(ProcessPageReqVO pageReqVO);
void updateStatusById(@Param("id") Long id);
void updateStatusById(@Param("id") Long id, @Param("status") Boolean status);
// default List<OrderProcessStepNDO> selectProducitonList(Long orderNo) { // default List<OrderProcessStepNDO> selectProducitonList(Long orderNo) {
// return selectList(new LambdaQueryWrapperX<OrderProcessStepNDO>() // 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); 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.cf.imes.module.system.enums.ErrorCodeConstants;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@@ -40,8 +41,6 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
@Resource @Resource
private ProcessStepMapper processStepMapper; private ProcessStepMapper processStepMapper;
@Resource
private OrderProcessMapper orderProcessMapper;
@Resource @Resource
private ProcessStepItemMapper processStepItemMapper; private ProcessStepItemMapper processStepItemMapper;
@@ -67,28 +66,6 @@ public class ProductionProcessServiceImpl implements ProductionProcessService {
// 转换成 PageResult 分页类型 // 转换成 PageResult 分页类型
return PageHelperUtil.convertToPageResult(pageInfo); 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 @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())){
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
// 未加工状态 }
Boolean status = orderProcessStepItemNDO.getStatus(); // 判断生产工序步骤表的状态是否为空
if(processStepStatuses.getProcessStepStatus().equals(ProcessingStatusEnum.PROCESSED.getStatus())){
// 未加工状态才可进行加工
if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING); throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING);
} }
// 判断生产单工序的状态是否为组件加工
if(processStepStatuses.getType() == 7){
// 更新加工状态 processStepItemMapper.updateStemStatus(reqVo.getStepItemId());
orderProcessStepItemNDO.setStatus(ProcessingStatusEnum.PROCESSED.getStatus());
processStepItemMapper.updateById(orderProcessStepItemNDO);
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 @Override
public List<OrderModuleVO> selectPlateName(Long stepItemId) { public List<OrderModuleVO> selectPlateName(Long stepItemId) {
@@ -19,25 +19,29 @@
<resultMap id="ItemMap" type="com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO"> <update id="updateStatus"
<result property="id" column="id"/> parameterType="java.lang.Long">
<result property="stepName" column="processName"/>
<result property="name" column="name"/>
<result property="orderProcessId" column="orderProcessId"/>
</resultMap>
<select id="selectItemProcess" update order_process_step_item opsi
resultMap="ItemMap" JOIN order_process_step ops ON opsi.process_step_id = ops.id
parameterType="com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO"> SET opsi.status = TRUE,
ops.status = TRUE
WHERE opsi.id = #{id};
select opsi.name as name,
opsi.id as id,
ops.Name as processName, </update>
op.group_id as orderProcessId
<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 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 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> </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> </mapper>
@@ -6,7 +6,7 @@
<update id="updateStatusById"> <update id="updateStatusById">
UPDATE order_process_step SET status = #{status} WHERE id = #{id} UPDATE order_process_step SET status = true WHERE id = #{id}
</update> </update>
@@ -15,12 +15,16 @@
<resultMap id="OrderMap" type="com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO"> <resultMap id="OrderMap" type="com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO">
<result property="id" column="id"/> <result property="id" column="orderId"/>
<result property="processStepId" column="processStepId"/> <result property="processStepItemId" column="stepItemId"/>
<result property="customOrderNo" column="customOrderNo"/> <result property="customOrderNo" column="customOrderNo"/>
<result property="customer" column="customer"/> <result property="customer" column="customer"/>
<result property="address" column="address"/> <result property="address" column="address"/>
<result property="status" column="status"/> <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> </resultMap>
@@ -28,24 +32,29 @@
select distinct select distinct
ops.order_id as id, ops.order_id as orderId,
ops.id as processStepId,
o.custom_order_no as customOrderNo, o.custom_order_no as customOrderNo,
o.customer as customer, o.customer as customer,
o.address as address, 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 from order_process_step ops
join `order` o on ops.order_id = o.id join `order` o on ops.order_id = o.id
join order_process_step_item opsi on ops.id = opsi.process_step_id
<where> <where>
<if test="id != null"> <if test="id != null">
and ops.processinfo_id = #{id} and ops.processinfo_id = #{id}
</if> </if>
<if test="status != null"> <if test="status != null">
and ops.status = #{status} and opsi.status = #{status}
</if> </if>
<if test="orderNo != null"> <if test="orderNo != null">
and ops.order_id = #{orderNo} and o.id = #{orderNo}
</if> </if>
<if test="customOrderNo != null"> <if test="customOrderNo != null">
and o.custom_order_no = #{customOrderNo} 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"> <resultMap id="priceResultMap" type="com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO">
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="priceRate" column="piece_rate"/> <result property="priceRate" column="piece_rate"/>