| doc/长治-祥雨远见.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/production/ProductWorkOrderMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
doc/³¤ÖÎ-ÏéÓêÔ¶¼û.sql
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,5 @@ ALTER TABLE `product_work_order` ADD COLUMN `worker_id` bigint NULL COMMENT 'ææ´¾å·¥äººID', ADD COLUMN `worker_name` varchar(100) NULL COMMENT 'ææ´¾å·¥äººå§å', ADD COLUMN `handover_user_id` bigint NULL COMMENT '交æ¥äººåID', ADD COLUMN `handover_user_name` varchar(100) NULL COMMENT '交æ¥äººååç§°'; src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
@@ -122,4 +122,28 @@ private BigDecimal completeQuantity; /** * ææ´¾å·¥äººID */ @ApiModelProperty(value = "ææ´¾å·¥äººID") private Long workerId; /** * ææ´¾å·¥äººå§å */ @ApiModelProperty(value = "ææ´¾å·¥äººå§å") private String workerName; /** * 交æ¥äººåID */ @ApiModelProperty(value = "交æ¥äººåID") private Long handoverUserId; /** * 交æ¥äººååç§° */ @ApiModelProperty(value = "交æ¥äººååç§°") private String handoverUserName; } src/main/java/com/ruoyi/production/service/impl/ProductWorkOrderServiceImpl.java
@@ -7,10 +7,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.deepoove.poi.data.PictureRenderData; import com.deepoove.poi.data.Pictures; import com.ruoyi.common.utils.HackLoopTableRenderPolicy; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.MatrixToImageWriter; import com.ruoyi.production.dto.ProductWorkOrderDto; import com.ruoyi.production.mapper.ProductWorkOrderFileMapper; @@ -18,8 +17,8 @@ import com.ruoyi.production.pojo.ProductWorkOrder; import com.ruoyi.production.pojo.ProductWorkOrderFile; import com.ruoyi.production.service.ProductWorkOrderService; import com.ruoyi.quality.pojo.QualityInspectParam; import lombok.AllArgsConstructor; import com.ruoyi.project.system.domain.SysUser; import com.ruoyi.project.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -46,16 +45,42 @@ @Value("${file.temp-dir}") private String tempDir; @Autowired private SysUserMapper sysUserMapper; @Override public IPage<ProductWorkOrderDto> listPage(Page<ProductWorkOrderDto> page, ProductWorkOrderDto productWorkOrder) { return productWorkOrdermapper.pageProductWorkOrder(page, productWorkOrder); } @Override public int updateProductWorkOrder(ProductWorkOrderDto productWorkOrderDto) { return productWorkOrdermapper.updateById(productWorkOrderDto); @Transactional(rollbackFor = Exception.class) public int updateProductWorkOrder(ProductWorkOrderDto dto) { if (dto == null) { throw new ServiceException("ææ´¾å¤±è´¥,æ°æ®ä¸è½ä¸ºç©º"); } if (dto.getWorkerId() == null) { throw new ServiceException("ææ´¾å¤±è´¥,ææ´¾å·¥äººä¸è½ä¸ºç©º"); } SysUser worker = sysUserMapper.selectUserById(dto.getWorkerId()); if (worker == null) { throw new ServiceException("ææ´¾å¤±è´¥,ææ´¾å·¥äººä¸åå¨"); } if (dto.getHandoverUserId() != null) { if (dto.getWorkerId().equals(dto.getHandoverUserId())) { throw new ServiceException("交æ¥å¤±è´¥,交æ¥äººä¸è½ä¸ææ´¾å·¥äººç¸å"); } SysUser handoverUser = sysUserMapper.selectUserById(dto.getHandoverUserId()); if (handoverUser == null) { throw new ServiceException("交æ¥å¤±è´¥,交æ¥äººåä¸åå¨"); } dto.setHandoverUserName(handoverUser.getNickName()); } dto.setWorkerName(worker.getNickName()); return productWorkOrdermapper.updateById(dto); } @Override public void down(HttpServletResponse response, ProductWorkOrder productWorkOrder) { ProductWorkOrderDto productWorkOrderDto = productWorkOrdermapper.getProductWorkOrderFlowCard(productWorkOrder.getId()); src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -92,6 +92,25 @@ @Override public Boolean addProductMain(ProductionProductMainDto dto) { ProductWorkOrder workOrder = productWorkOrderMapper.selectById(dto.getWorkOrderId()); if (workOrder == null) { throw new ServiceException("æ¥å·¥å¤±è´¥,å·¥åä¸åå¨"); } Long currentUserId = dto.getUserId(); Long workerId = workOrder.getWorkerId(); Long handoverUserId = workOrder.getHandoverUserId(); boolean isWorker = workerId != null && workerId.equals(currentUserId); boolean isHandover = handoverUserId != null && handoverUserId.equals(currentUserId); if (!isWorker) { // 䏿¯ææ´¾å·¥äºº if (handoverUserId == null) { throw new ServiceException("æ¥å·¥å¤±è´¥,å½åå·¥åæªäº¤æ¥,åªæææ´¾å·¥äººå¯ä»¥æ¥å·¥"); } if (!isHandover) { throw new ServiceException("æ¥å·¥å¤±è´¥,ä½ ä¸æ¯è¯¥å·¥åç交æ¥äººå"); } } SysUser user = userMapper.selectUserById(dto.getUserId()); ProductionProductMain productionProductMain = new ProductionProductMain(); //å½åå·¥èºè·¯çº¿å¯¹åºçå·¥åºè¯¦æ src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -5,17 +5,24 @@ <mapper namespace="com.ruoyi.production.mapper.ProductWorkOrderMapper"> <resultMap id="BaseResultMap" type="com.ruoyi.production.pojo.ProductWorkOrder"> <result column="id" property="id"/> <id column="id" property="id"/> <result column="product_process_route_item_id" property="productProcessRouteItemId"/> <result column="product_order_id" property="productOrderId"/> <result column="create_time" property="createTime"/> <result column="update_time" property="updateTime"/> <result column="work_order_no" property="workOrderNo"/> <result column="status" property="status"/> <result column="tenant_id" property="tenantId"/> <result column="actual_end_time" property="planStartTime"/> <result column="plan_start_time" property="planStartTime"/> <result column="plan_end_time" property="planEndTime"/> <result column="actual_start_time" property="actualStartTime"/> <result column="actualEndTime" property="actualEndTime"/> <result column="actual_end_time" property="actualEndTime"/> <result column="plan_quantity" property="planQuantity"/> <result column="complete_quantity" property="completeQuantity"/> <result column="worker_id" property="workerId"/> <result column="worker_name" property="workerName"/> <result column="handover_user_id" property="handoverUserId"/> <result column="handover_user_name" property="handoverUserName"/> </resultMap> <select id="pageProductWorkOrder" resultType="com.ruoyi.production.dto.ProductWorkOrderDto"> @@ -42,6 +49,9 @@ <if test="c.workOrderNo != null and c.workOrderNo != ''"> and pwo.work_order_no like concat('%',#{c.workOrderNo},'%') </if> <if test="c.workerName != null and c.workerName != ''"> and (pwo.worker_name like concat('%',#{c.workerName},'%') or pwo.handover_user_name like concat('%',#{c.workerName},'%')) </if> <if test="c.planStartTime != null and c.planEndTime != null"> and DATE(pwo.create_time) between #{c.planStartTime} and #{c.planEndTime} </if> @@ -49,6 +59,7 @@ and pwo.product_order_id = #{c.productOrderId} </if> </select> <select id="getProductWorkOrderFlowCard" resultType="com.ruoyi.production.dto.ProductWorkOrderDto"> SELECT pwo.*,