zhuangdezheng 1 год назад
Родитель
Сommit
bb8b769864
19 измененных файлов с 992 добавлено и 24 удалено
  1. 86 0
      src/main/java/cn/ezhizao/project/business/controller/BizDayworkController.java
  2. 125 0
      src/main/java/cn/ezhizao/project/business/domain/BizDaywork.java
  3. 101 0
      src/main/java/cn/ezhizao/project/business/domain/BizDayworkCarrier.java
  4. 126 0
      src/main/java/cn/ezhizao/project/business/domain/BizDayworkItem.java
  5. 9 17
      src/main/java/cn/ezhizao/project/business/domain/BizLot.java
  6. 10 7
      src/main/java/cn/ezhizao/project/business/domain/BizProcess.java
  7. 30 0
      src/main/java/cn/ezhizao/project/business/mapper/BizDayworkCarrierMapper.java
  8. 30 0
      src/main/java/cn/ezhizao/project/business/mapper/BizDayworkItemMapper.java
  9. 31 0
      src/main/java/cn/ezhizao/project/business/mapper/BizDayworkMapper.java
  10. 31 0
      src/main/java/cn/ezhizao/project/business/service/IBizDayworkCarrierService.java
  11. 31 0
      src/main/java/cn/ezhizao/project/business/service/IBizDayworkItemService.java
  12. 32 0
      src/main/java/cn/ezhizao/project/business/service/IBizDayworkService.java
  13. 40 0
      src/main/java/cn/ezhizao/project/business/service/IBizProcessService.java
  14. 44 0
      src/main/java/cn/ezhizao/project/business/service/impl/BizDayworkCarrierServiceImpl.java
  15. 47 0
      src/main/java/cn/ezhizao/project/business/service/impl/BizDayworkItemServiceImpl.java
  16. 45 0
      src/main/java/cn/ezhizao/project/business/service/impl/BizDayworkServiceImpl.java
  17. 31 0
      src/main/resources/mybatis/business/BizDayworkCarrierMapper.xml
  18. 38 0
      src/main/resources/mybatis/business/BizDayworkItemMapper.xml
  19. 105 0
      src/main/resources/mybatis/business/BizDayworkMapper.xml

+ 86 - 0
src/main/java/cn/ezhizao/project/business/controller/BizDayworkController.java

@@ -0,0 +1,86 @@
+package cn.ezhizao.project.business.controller;
+
+import cn.ezhizao.common.utils.SecurityUtils;
+import cn.ezhizao.common.utils.poi.ExcelUtil;
+import cn.ezhizao.framework.aspectj.lang.annotation.Log;
+import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
+import cn.ezhizao.framework.web.controller.BaseController;
+import cn.ezhizao.framework.web.domain.AjaxResult;
+import cn.ezhizao.framework.web.page.TableDataInfo;
+import cn.ezhizao.project.business.domain.BizProcess;
+import cn.ezhizao.project.business.domain.BizDaywork;
+import cn.ezhizao.project.business.domain.BizDayworkCarrier;
+import cn.ezhizao.project.business.service.IBizProcessService;
+import cn.ezhizao.project.business.service.IBizDayworkCarrierService;
+import cn.ezhizao.project.business.service.IBizDayworkService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * 报工Controller
+ *
+ * @author ezhizao
+ * @date 2023-11-29
+ */
+@RestController
+@RequestMapping("/business/productionDaywork")
+public class BizDayworkController extends BaseController {
+    @Resource
+    private IBizDayworkService bizDayworkService;
+
+    @Resource
+    private IBizDayworkCarrierService bizDayworkCarrierService;
+
+    @Resource
+    private IBizProcessService bizProcessService;
+
+    /**
+     * 查询报工列表
+     */
+    @PreAuthorize("@ss.hasPermi('business:productionDaywork:list')")
+    @PostMapping("/list")
+    public TableDataInfo list(BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
+        List<BizDaywork> dayworkList = new ArrayList<>();
+        setTenantId(bizDaywork);
+        startPage();
+        //查询当前生产子计划的批次报工列表
+        List<BizDaywork> list = bizDayworkService.getList(bizDaywork);
+        //查询当前人员的负责工序
+        for (BizDaywork daywork : list) {
+            // 根据已完成工序过滤出当前序
+            ArrayList<BizProcess> result = new ArrayList<>(daywork.getProcessSequence());
+            result.removeAll(daywork.getPrevProcess());
+            daywork.setCurrentProcess(result.get(0));
+        }
+        //最终返回当前子计划中批次报工的工序是这个人员负责的工序
+        return getDataTable(dayworkList);
+    }
+
+    /**
+     * 导出报工列表
+     */
+    @Log(title = "报工", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, BizDaywork bizDaywork) throws NoSuchFieldException, IllegalAccessException {
+        setTenantId(bizDaywork);
+        List<BizDaywork> list = bizDayworkService.getList(bizDaywork);
+        ExcelUtil<BizDaywork> util = new ExcelUtil<BizDaywork>(BizDaywork.class);
+        util.exportExcel(response, list, "报工数据");
+    }
+
+    /**
+     * 获取报工详细信息
+     */
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id) {
+        return success(bizDayworkService.getById(id));
+    }
+
+}

+ 125 - 0
src/main/java/cn/ezhizao/project/business/domain/BizDaywork.java

@@ -0,0 +1,125 @@
+package cn.ezhizao.project.business.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 报工对象 biz_daywork
+ *
+ * @author ezhizao
+ * @date 2023-11-29
+ */
+@Data
+@TableName(value = "biz_daywork")
+public class BizDaywork extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 租户(厂别)id */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+    /** 批次号id */
+    @ApiModelProperty(value = "${comment}")
+    private Long lotId;
+    /** 批次号 */
+    @TableField(exist = false)
+    @ApiModelProperty(value = "${comment}")
+    private String lotCode;
+    /** 计划单id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanId;
+
+    /** 子计划id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailSubDetailId;
+
+    /** 计划单明细id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailId;
+
+    /** 子计划工序对应的设备id */
+//    @ApiModelProperty(value = "${comment}")
+//    private Long productionPlanDetailSubDetailEquipmentId;
+
+    /** 产品id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productId;
+
+    /** 工艺id(通过工艺id,获取版本号) */
+    @ApiModelProperty(value = "${comment}")
+    private Long technologicalProcessId;
+
+    /** 工序id */
+//    @ApiModelProperty(value = "${comment}")
+//    private Long processId;
+
+    /** 设备id */
+//    @ApiModelProperty(value = "${comment}")
+//    private Long equipmentDetailId;
+
+    /** 设备编码 */
+//    @Excel(name = "设备编码")
+//    @ApiModelProperty(value = "设备编码")
+//    private String equipmentDetailCode;
+
+    /** 用户id */
+    @ApiModelProperty(value = "设备编码")
+    private Long userId;
+
+    /** 员工编码 */
+    @Excel(name = "员工编码")
+    @ApiModelProperty(value = "员工编码")
+    private String userName;
+
+    /** 员工姓名 */
+    @Excel(name = "员工姓名")
+    @ApiModelProperty(value = "员工姓名")
+    private String nickName;
+
+    /** 开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "开始时间")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "结束时间")
+    private Date endTime;
+    /** 载具 */
+    @TableField(exist = false)
+    private String carrierName;
+
+    private Integer status;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "生产数量")
+    private Integer productionQuantity;
+
+    @TableField(exist = false)
+    private List<BizDayworkCarrier> dayworkCarriers;
+    /** 炉号 */
+    @TableField(exist = false)
+    private String furnaceNumber;
+
+    /** 工艺工序顺序 */
+    @TableField(exist = false)
+    private List<BizProcess> processSequence;
+
+    @TableField(exist = false)
+    private BizProcess currentProcess;
+
+    @TableField(exist = false)
+    private List<BizProcess> prevProcess;
+
+}

+ 101 - 0
src/main/java/cn/ezhizao/project/business/domain/BizDayworkCarrier.java

@@ -0,0 +1,101 @@
+package cn.ezhizao.project.business.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 报工载具中间表对象 biz_daywork_carrier
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+@Data
+@TableName(value = "biz_daywork_carrier")
+public class BizDayworkCarrier extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 租户(厂别)id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+
+    /**
+     * daywork id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long dayworkId;
+
+    /**
+     * 计划单id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanId;
+
+    /**
+     * 子计划id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailSubDetailId;
+
+    /**
+     * 计划单明细id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailId;
+
+    /**
+     * 子计划工序对应的设备id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailSubDetailEquipmentId;
+
+    /**
+     * 批次号
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long lotId;
+
+    /**
+     * 产品id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long productId;
+
+    /**
+     * 工艺id(通过工艺id,获取版本号)
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long technologicalProcessId;
+
+    /**
+     * 用户id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long userId;
+
+    /**
+     * 箱子id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long carrierId;
+
+    /**
+     * 箱子编码
+     */
+    @Excel(name = "箱子编码")
+    @ApiModelProperty(value = "箱子编码")
+    private String carrierCode;
+
+    /**
+     * 是否被更换
+     */
+    @Excel(name = "是否被更换")
+    @ApiModelProperty(value = "是否被更换")
+    private Integer isChanged;
+
+}

+ 126 - 0
src/main/java/cn/ezhizao/project/business/domain/BizDayworkItem.java

@@ -0,0 +1,126 @@
+package cn.ezhizao.project.business.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 报工记录对象 biz_daywork_item
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+@Data
+@TableName(value = "biz_daywork_item")
+public class BizDayworkItem extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 租户(厂别)id */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+
+    /** daywork的id */
+    @ApiModelProperty(value = "${comment}")
+    private Long dayworkId;
+
+    /** 计划单id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanId;
+
+    /** 计划单明细id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailId;
+
+    /** 子计划id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailSubDetailId;
+
+    /** 子计划工序对应的设备id */
+    @ApiModelProperty(value = "${comment}")
+    private Long productionPlanDetailSubDetailEquipmentId;
+
+
+
+    /** 批次号 */
+    @ApiModelProperty(value = "${comment}")
+    private Long lotId;
+
+    /** 载具id */
+    @ApiModelProperty(value = "${comment}")
+    private Long vehicleId;
+
+    /** 投产数 */
+//    @Excel(name = "投产数")
+//    @ApiModelProperty(value = "投产数")
+//    private Integer productionNum;
+
+    /** 合格数 */
+    @Excel(name = "合格数")
+    @ApiModelProperty(value = "合格数")
+    private Integer qualifiedNum;
+
+    /** 工艺id(通过工艺id,获取版本号) */
+    @ApiModelProperty(value = "合格数")
+    private Long technologicalProcessId;
+
+    /** 工序id */
+    @ApiModelProperty(value = "合格数")
+    private Long processId;
+
+    /** 设备id */
+    @ApiModelProperty(value = "合格数")
+    private Long equipmentDetailId;
+
+    /** 设备编码 */
+    @Excel(name = "设备编码")
+    @ApiModelProperty(value = "设备编码")
+    private String equipmentDetailCode;
+
+    /** 生产状态0:未开始, 1:生产中 ,2:已完成 */
+    @Excel(name = "生产状态0:未开始, 1:生产中 ,2:已完成")
+    @ApiModelProperty(value = "生产状态0:未开始, 1:生产中 ,2:已完成")
+    private String status;
+
+    /** 用户id */
+    @ApiModelProperty(value = "生产状态0:未开始, 1:生产中 ,2:已完成")
+    private Long userId;
+
+    /** 员工编码 */
+    @Excel(name = "员工编码")
+    @ApiModelProperty(value = "员工编码")
+    private String userName;
+
+    /** 员工姓名 */
+    @Excel(name = "员工姓名")
+    @ApiModelProperty(value = "员工姓名")
+    private String nickName;
+
+    /** 开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "开始时间")
+    private Date startTime;
+    /** 批次号 */
+    @TableField(exist = false)
+    @ApiModelProperty(value = "${comment}")
+    private String lotCode;
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "结束时间")
+    private Date endTime;
+
+    private Integer rejectNum;
+
+    private String reason;
+    /** 前端传来的下一道工序Id */
+    @TableField(exist = false)
+    private Long processDemoId;
+}

+ 9 - 17
src/main/java/cn/ezhizao/project/business/domain/BizLot.java

@@ -5,26 +5,16 @@ import cn.ezhizao.framework.web.domain.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import java.math.BigDecimal;
 
 /**
- * 生产计划明细对象 biz_lot
+ * 批次号对象 biz_lot
  *
- * @author zhuangdezheng
- * @date 2023-11-13
+ * @author ezhizao
+ * @date 2023-12-04
  */
 @Data
-@EqualsAndHashCode(callSuper = true)
 @TableName(value = "biz_lot")
 public class BizLot extends BaseEntity {
-    /**
-     * 租户(厂别)id
-     */
-    @ApiModelProperty(value = "租户(厂别)id")
-    private Long tenantId;
-
     /**
      * 批次号
      */
@@ -56,10 +46,11 @@ public class BizLot extends BaseEntity {
     @ApiModelProperty(value = "工艺版本")
     private String technologyVersion;
 
+
     /**
      * 产品id
      */
-    @ApiModelProperty(value = "客户编码")
+    @ApiModelProperty(value = "产品id")
     private Long productId;
 
     /**
@@ -91,10 +82,11 @@ public class BizLot extends BaseEntity {
     private String productDescription;
 
     /**
-     * 产数量
+     * 产数量
      */
-    @Excel(name = "产数量")
-    @ApiModelProperty(value = "产数量")
+    @Excel(name = "产数量")
+    @ApiModelProperty(value = "产数量")
     private Integer productionQuantity;
 
+
 }

+ 10 - 7
src/main/java/cn/ezhizao/project/business/domain/BizProcess.java

@@ -15,21 +15,24 @@ import lombok.Data;
  */
 @Data
 @TableName(value = "biz_process")
-public class BizProcess extends BaseEntity
-{
-    private static final long serialVersionUID = 1L;
-
-    /** XX主序 XX次序 X分序 */
+public class BizProcess extends BaseEntity {
+    /**
+     * XX主序 XX次序 X分序
+     */
     @Excel(name = "XX主序 XX次序 X分序")
     @ApiModelProperty(value = "XX主序 XX次序 X分序")
     private String processCode;
 
-    /** 工序简称 */
+    /**
+     * 工序简称
+     */
     @Excel(name = "工序简称")
     @ApiModelProperty(value = "工序简称")
     private String processAlias;
 
-    /** NA正常,CL不用 */
+    /**
+     * NA正常,CL不用
+     */
     @Excel(name = "NA正常,CL不用")
     @ApiModelProperty(value = "NA正常,CL不用")
     private String status;

+ 30 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizDayworkCarrierMapper.java

@@ -0,0 +1,30 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.BizDayworkCarrier;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * 报工载具中间表Mapper接口
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+public interface BizDayworkCarrierMapper extends BaseMapper<BizDayworkCarrier>
+{
+    /**
+     * 查询报工载具中间表列表
+     *
+     * @param bizDayworkCarrier 报工载具中间表
+     * @return 报工载具中间表集合
+     */
+    public List<BizDayworkCarrier> getList(BizDayworkCarrier bizDayworkCarrier);
+
+    /**
+     * 物理删除
+     * @param bizDayworkCarrier
+     * @return 删除结果
+    */
+    public int physicalDelete(BizDayworkCarrier bizDayworkCarrier);
+}

+ 30 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizDayworkItemMapper.java

@@ -0,0 +1,30 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.BizDayworkItem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * 报工记录Mapper接口
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+public interface BizDayworkItemMapper extends BaseMapper<BizDayworkItem>
+{
+    /**
+     * 查询报工记录列表
+     *
+     * @param bizDayworkItem 报工记录
+     * @return 报工记录集合
+     */
+    public List<BizDayworkItem> getList(BizDayworkItem bizDayworkItem);
+
+    /**
+     * 物理删除
+     * @param bizDayworkItem
+     * @return 删除结果
+    */
+    public int physicalDelete(BizDayworkItem bizDayworkItem);
+}

+ 31 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizDayworkMapper.java

@@ -0,0 +1,31 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.BizDaywork;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+
+/**
+ * 报工Mapper接口
+ *
+ * @author ezhizao
+ * @date 2023-11-29
+ */
+public interface BizDayworkMapper extends BaseMapper<BizDaywork> {
+    /**
+     * 查询报工列表
+     *
+     * @param bizDaywork 报工
+     * @return 报工集合
+     */
+    public List<BizDaywork> getList(BizDaywork bizDaywork);
+
+    /**
+     * 物理删除
+     *
+     * @param bizDaywork
+     * @return 删除结果
+     */
+    public int physicalDelete(BizDaywork bizDaywork);
+}

+ 31 - 0
src/main/java/cn/ezhizao/project/business/service/IBizDayworkCarrierService.java

@@ -0,0 +1,31 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.BizDayworkCarrier;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * 报工载具中间表Service接口
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+public interface IBizDayworkCarrierService extends IService<BizDayworkCarrier>
+{
+    /**
+     * 查询报工载具中间表列表
+     *
+     * @param bizDayworkCarrier 报工载具中间表
+     * @return 报工载具中间表集合
+     */
+    public List<BizDayworkCarrier> getList(BizDayworkCarrier bizDayworkCarrier);
+
+    /**
+     * 物理删除
+     * @param bizDayworkCarrier
+     * @return 删除结果
+     */
+    public int physicalDelete(BizDayworkCarrier bizDayworkCarrier);
+
+}

+ 31 - 0
src/main/java/cn/ezhizao/project/business/service/IBizDayworkItemService.java

@@ -0,0 +1,31 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.BizDayworkItem;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * 报工记录Service接口
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+public interface IBizDayworkItemService extends IService<BizDayworkItem>
+{
+    /**
+     * 查询报工记录列表
+     *
+     * @param bizDayworkItem 报工记录
+     * @return 报工记录集合
+     */
+    public List<BizDayworkItem> getList(BizDayworkItem bizDayworkItem);
+
+    /**
+     * 物理删除
+     * @param bizDayworkItem
+     * @return 删除结果
+     */
+    public int physicalDelete(BizDayworkItem bizDayworkItem);
+
+}

+ 32 - 0
src/main/java/cn/ezhizao/project/business/service/IBizDayworkService.java

@@ -0,0 +1,32 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.BizDaywork;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+
+/**
+ * 报工Service接口
+ *
+ * @author ezhizao
+ * @date 2023-11-29
+ */
+public interface IBizDayworkService extends IService<BizDaywork>
+{
+    /**
+     * 查询报工列表
+     *
+     * @param bizDaywork 报工
+     * @return 报工集合
+     */
+    public List<BizDaywork> getList(BizDaywork bizDaywork);
+
+    /**
+     * 物理删除
+     * @param bizDaywork
+     * @return 删除结果
+     */
+    public int physicalDelete(BizDaywork bizDaywork);
+
+}

+ 40 - 0
src/main/java/cn/ezhizao/project/business/service/IBizProcessService.java

@@ -0,0 +1,40 @@
+package cn.ezhizao.project.business.service;
+
+import java.util.List;
+
+import cn.ezhizao.project.business.domain.BizProcess;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+
+/**
+ * 标准工序Service接口
+ *
+ * @author ezhizao
+ * @date 2023-11-13
+ */
+public interface IBizProcessService extends IService<BizProcess> {
+    /**
+     * 查询标准工序列表
+     *
+     * @param bizProcess 标准工序
+     * @return 标准工序集合
+     */
+    public List<BizProcess> getList(BizProcess bizProcess);
+
+    /**
+     * 物理删除
+     *
+     * @param bizProcess
+     * @return 删除结果
+     */
+    public int physicalDelete(BizProcess bizProcess);
+
+    /**
+     * 查询员工负责工序列表
+     *
+     * @param userId 标准工序
+     * @return 标准工序集合
+     */
+    public List<BizProcess> getUserProcess(Long userId);
+
+}

+ 44 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizDayworkCarrierServiceImpl.java

@@ -0,0 +1,44 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.project.business.mapper.BizDayworkCarrierMapper;
+import cn.ezhizao.project.business.domain.BizDayworkCarrier;
+import cn.ezhizao.project.business.service.IBizDayworkCarrierService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 报工载具中间表Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+@Service
+public class BizDayworkCarrierServiceImpl  extends ServiceImpl<BizDayworkCarrierMapper, BizDayworkCarrier> implements IBizDayworkCarrierService
+{
+    @Resource
+    private BizDayworkCarrierMapper bizDayworkCarrierMapper;
+
+    /**
+     * 查询报工载具中间表列表
+     *
+     * @param bizDayworkCarrier 报工载具中间表
+     * @return 报工载具中间表
+     */
+    @Override
+    public List<BizDayworkCarrier> getList(BizDayworkCarrier bizDayworkCarrier)
+    {
+        return bizDayworkCarrierMapper.getList(bizDayworkCarrier);
+    }
+
+    /**
+     * 物理删除
+     * @param bizDayworkCarrier
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizDayworkCarrier bizDayworkCarrier){ return bizDayworkCarrierMapper.physicalDelete(bizDayworkCarrier); };
+
+}

+ 47 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizDayworkItemServiceImpl.java

@@ -0,0 +1,47 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.project.business.domain.BizDayworkItem;
+import cn.ezhizao.project.business.mapper.BizDayworkItemMapper;
+import cn.ezhizao.project.business.service.IBizDayworkItemService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 报工记录Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2023-12-04
+ */
+@Service
+public class BizDayworkItemServiceImpl extends ServiceImpl<BizDayworkItemMapper, BizDayworkItem> implements IBizDayworkItemService {
+    @Resource
+    private BizDayworkItemMapper bizDayworkItemMapper;
+
+    /**
+     * 查询报工记录列表
+     *
+     * @param bizDayworkItem 报工记录
+     * @return 报工记录
+     */
+    @Override
+    public List<BizDayworkItem> getList(BizDayworkItem bizDayworkItem) {
+        return bizDayworkItemMapper.getList(bizDayworkItem);
+    }
+
+    /**
+     * 物理删除
+     *
+     * @param bizDayworkItem
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizDayworkItem bizDayworkItem) {
+        return bizDayworkItemMapper.physicalDelete(bizDayworkItem);
+    }
+
+    ;
+
+}

+ 45 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizDayworkServiceImpl.java

@@ -0,0 +1,45 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.project.business.domain.BizDaywork;
+import cn.ezhizao.project.business.mapper.BizDayworkMapper;
+import cn.ezhizao.project.business.service.IBizDayworkService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+
+/**
+ * 报工Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2023-11-29
+ */
+@Service
+public class BizDayworkServiceImpl  extends ServiceImpl<BizDayworkMapper, BizDaywork> implements IBizDayworkService
+{
+    @Resource
+    private BizDayworkMapper bizDayworkMapper;
+
+    /**
+     * 查询报工列表
+     *
+     * @param bizDaywork 报工
+     * @return 报工
+     */
+    @Override
+    public List<BizDaywork> getList(BizDaywork bizDaywork)
+    {
+        return bizDayworkMapper.getList(bizDaywork);
+    }
+
+    /**
+     * 物理删除
+     * @param bizDaywork
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizDaywork bizDaywork){ return bizDayworkMapper.physicalDelete(bizDaywork); };
+
+}

+ 31 - 0
src/main/resources/mybatis/business/BizDayworkCarrierMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.ezhizao.project.business.mapper.BizDayworkCarrierMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizDayworkCarrier" id="BizDayworkCarrierResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizDayworkCarrier" resultMap="BizDayworkCarrierResult">
+        SELECT * FROM biz_daywork_carrier
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="carrierCode != null  and carrierCode != ''"> AND carrier_code = #{carrierCode}</if>
+            <if test="isChanged != null "> AND is_changed = #{isChanged}</if>
+            <if test="dayworkId!= null "> AND daywork_id = #{dayworkId}</if>
+        </trim>
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_daywork_carrier
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>

+ 38 - 0
src/main/resources/mybatis/business/BizDayworkItemMapper.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.ezhizao.project.business.mapper.BizDayworkItemMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizDayworkItem" id="BizDayworkItemResult">
+        <id column="id" property="id"/>
+        <result column="lot_id" property="lotId"/>
+        <association property="lotCode" javaType="java.lang.String" column="lot_id" select="getLotCode"/>
+    </resultMap>
+
+    <select id="getLotCode" parameterType="Long" resultType="java.lang.String">
+        SELECT lot_code
+        FROM biz_lot
+        WHERE deleted = 0
+          AND id = #{lotId}
+    </select>
+    <select id="getList" parameterType="BizDayworkItem" resultMap="BizDayworkItemResult">
+        SELECT * FROM biz_daywork_item
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="dayworkId != null and dayworkId != ''">AND daywork_id = #{dayworkId}</if>
+
+        </trim>
+        ORDER BY create_time DESC
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_daywork_item
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+            <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>

+ 105 - 0
src/main/resources/mybatis/business/BizDayworkMapper.xml

@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.ezhizao.project.business.mapper.BizDayworkMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizDaywork" id="BizDayworkResult">
+        <id column="id" property="id"/>
+        <result column="lot_id" property="lotId"/>
+        <result column="production_plan_detail_id" property="productionPlanDetailId"/>
+        <result column="production_plan_detail_sub_detail_id" property="productionPlanDetailSubDetailId"/>
+        <result column="technological_process_id"  property="technologicalProcessId"/>
+        <association property="lotCode" javaType="java.lang.String" column="lot_id" select="getLotCode"/>
+        <association property="carrierName" javaType="java.lang.String" column="id" select="getCarrier"/>
+        <association property="productionQuantity" javaType="java.lang.Integer" column="productionPlanDetailSubDetailId" select="getProductionQuantity"/>
+        <association property="furnaceNumber" javaType="java.lang.String" column="production_plan_detail_id" select="getFurnaceNumber"/>
+        <collection property="processSequence" ofType="cn.ezhizao.project.business.domain.BizProcess" column="technological_process_id" select="getProcessSequence"/>
+        <collection property="prevProcess" ofType="cn.ezhizao.project.business.domain.BizProcess" column="id" select="getPrevProcess"/>
+    </resultMap>
+
+    <resultMap id="BizTechnologicalProcessDetailResult" type="cn.ezhizao.project.business.domain.BizTechnologicalProcessDetail">
+        <id column="id" property="id"/>
+    </resultMap>
+
+    <resultMap id="BizProcessResult" type="cn.ezhizao.project.business.domain.BizProcess">
+        <id column="id" property="id"/>
+
+    </resultMap>
+
+    <select id="getFurnaceNumber" resultType="java.lang.String" >
+        select furnace_number from biz_production_plan_detail where deleted = 0 and id = #{productionPlanDetailId}
+    </select>
+    <select id="getProductionQuantity" resultType="java.lang.Integer" >
+        select production_quantity from biz_production_plan_detail_sub_detail where id = #{productionPlanDetailSubDetailId}
+    </select>
+
+    <select id="getCarrier" resultType="java.lang.String">
+        select  GROUP_CONCAT( code SEPARATOR ', ' ) as carrierName from biz_carrier where id in (select carrier_id from biz_daywork_carrier where deleted = 0 and daywork_id = #{id})
+    </select>
+    <select id="getLotCode" parameterType="Long" resultType="java.lang.String">
+        SELECT lot_code FROM biz_lot WHERE deleted = 0 AND id = #{lotId}
+    </select>
+    <select id="getList" parameterType="BizDaywork" resultMap="BizDayworkResult">
+        SELECT * FROM biz_daywork
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="userName != null  and userName != ''"> AND user_name like concat('%', #{userName}, '%')</if>
+            <if test="nickName != null  and nickName != ''"> AND nick_name like concat('%', #{nickName}, '%')</if>
+            <if test="startTime != null "> AND start_time = #{startTime}</if>
+            <if test="endTime != null "> AND end_time = #{endTime}</if>
+            <if test="productionPlanDetailSubDetailId != null and productionPlanDetailSubDetailId != ''">AND production_plan_detail_sub_detail_id = #{productionPlanDetailSubDetailId}</if>
+        </trim>
+        ORDER BY create_time DESC
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_daywork
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+
+<!--    周转区查看-->
+    <select id="turnover">
+        select t1.*,t2.* from biz_daywork_item t1 left join biz_daywork t2 on t1.daywork_id = t2.id
+                 where t1.deleted = 0
+                   AND t1.status = 3
+                   AND daywork_id = #{id}
+    </select>
+
+    <select id="getProcessSequence" resultMap="BizProcessResult">
+        SELECT
+            t1.*
+        FROM
+            biz_process t1
+                JOIN biz_technological_process_detail t2 ON t1.id = t2.process_id
+        WHERE
+            t1.deleted = 0
+          AND t2.deleted = 0
+          AND t2.technological_process_id = #{technologicalProcessId}
+        ORDER BY
+            t2.process_step_number ;
+    </select>
+
+
+
+    <select id="previousProcess">
+        select t1.*,t2.process_step_number from biz_daywork_item t1 left join biz_technological_process_detail t2
+            on t1.process_id = t2.process_id
+                 where
+                     t1.deleted = 0 and t1.status = 2 and t1.daywork_id = #{dayworkId}
+        order by t2.process_step_number desc
+        limit 0,1
+    </select>
+
+    <select id="getPrevProcess" resultMap="BizProcessResult">
+        select * from biz_process where deleted = 0 and id in(select process_id from biz_daywork_item where deleted = 0 and daywork_id = #{dayworkId} and status =2)
+    </select>
+
+
+
+</mapper>