guoyujia 11 月之前
父節點
當前提交
79bd6400cc
共有 42 個文件被更改,包括 916 次插入17 次删除
  1. 107 0
      src/main/java/cn/ezhizao/project/business/innerTurnover/controller/BizInnerTurnoverController.java
  2. 55 0
      src/main/java/cn/ezhizao/project/business/innerTurnover/domain/BizInnerTurnover.java
  3. 30 0
      src/main/java/cn/ezhizao/project/business/innerTurnover/mapper/BizInnerTurnoverMapper.java
  4. 31 0
      src/main/java/cn/ezhizao/project/business/innerTurnover/service/IBizInnerTurnoverService.java
  5. 45 0
      src/main/java/cn/ezhizao/project/business/innerTurnover/service/impl/BizInnerTurnoverServiceImpl.java
  6. 5 1
      src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkCarrierController.java
  7. 104 1
      src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkController.java
  8. 149 1
      src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkItemController.java
  9. 12 0
      src/main/java/cn/ezhizao/project/business/product/controller/BizFurnaceNoInfoController.java
  10. 41 0
      src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java
  11. 17 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizDaywork.java
  12. 4 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkCarrier.java
  13. 1 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkItem.java
  14. 3 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkItemConsult.java
  15. 8 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkItemReject.java
  16. 3 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizFurnaceNoInfo.java
  17. 4 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizProcessInspecion.java
  18. 9 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizProcessInspectionDetail.java
  19. 1 0
      src/main/java/cn/ezhizao/project/business/product/mapper/BizDayworkCarrierMapper.java
  20. 1 0
      src/main/java/cn/ezhizao/project/business/product/mapper/BizDayworkItemConsultMapper.java
  21. 4 1
      src/main/java/cn/ezhizao/project/business/product/mapper/BizDayworkItemMapper.java
  22. 1 0
      src/main/java/cn/ezhizao/project/business/product/mapper/BizDayworkMapper.java
  23. 3 0
      src/main/java/cn/ezhizao/project/business/product/mapper/BizProcessInspecionMapper.java
  24. 1 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizDayworkCarrierService.java
  25. 1 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizDayworkItemConsultService.java
  26. 4 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizDayworkItemService.java
  27. 2 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizDayworkService.java
  28. 3 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizProcessInspecionService.java
  29. 5 0
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkCarrierServiceImpl.java
  30. 5 0
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkItemConsultServiceImpl.java
  31. 20 0
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkItemServiceImpl.java
  32. 47 5
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkServiceImpl.java
  33. 7 0
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizProcessInspecionServiceImpl.java
  34. 3 0
      src/main/java/cn/ezhizao/project/business/resourceGroup/domain/BizProductionResourceGroupDetail.java
  35. 1 0
      src/main/java/cn/ezhizao/project/business/resourceGroup/service/impl/BizProductionResourceGroupDetailServiceImpl.java
  36. 35 0
      src/main/resources/mybatis/business/innerTurnover/BizInnerTurnoverMapper.xml
  37. 4 1
      src/main/resources/mybatis/business/product/BizDayworkCarrierMapper.xml
  38. 7 1
      src/main/resources/mybatis/business/product/BizDayworkItemConsultMapper.xml
  39. 98 1
      src/main/resources/mybatis/business/product/BizDayworkItemMapper.xml
  40. 12 3
      src/main/resources/mybatis/business/product/BizDayworkMapper.xml
  41. 0 1
      src/main/resources/mybatis/business/product/BizFurnaceNoInfoMapper.xml
  42. 23 1
      src/main/resources/mybatis/business/product/BizProcessInspecionMapper.xml

+ 107 - 0
src/main/java/cn/ezhizao/project/business/innerTurnover/controller/BizInnerTurnoverController.java

@@ -0,0 +1,107 @@
+package cn.ezhizao.project.business.innerTurnover.controller;
+
+import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+
+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.innerTurnover.domain.BizInnerTurnover;
+import cn.ezhizao.project.business.innerTurnover.service.IBizInnerTurnoverService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * 工段内部人周转表Controller
+ *
+ * @author ezhizao
+ * @date 2024-07-08
+ */
+@RestController
+@RequestMapping("/business/innerTurnover")
+public class BizInnerTurnoverController extends BaseController
+{
+    @Resource
+    private IBizInnerTurnoverService bizInnerTurnoverService;
+
+    /**
+     * 查询工段内部人周转表列表
+     */
+    @GetMapping("/list")
+    public TableDataInfo list(BizInnerTurnover bizInnerTurnover) throws NoSuchFieldException, IllegalAccessException
+    {
+        List<BizInnerTurnover> list = bizInnerTurnoverService.getList(bizInnerTurnover);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出工段内部人周转表列表
+     */
+    @PreAuthorize("@ss.hasPermi('business:innerTurnover:export')")
+    @Log(title = "工段内部人周转表", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, BizInnerTurnover bizInnerTurnover) throws NoSuchFieldException, IllegalAccessException
+    {
+        setTenantId(bizInnerTurnover);
+        List<BizInnerTurnover> list = bizInnerTurnoverService.getList(bizInnerTurnover);
+        ExcelUtil<BizInnerTurnover> util = new ExcelUtil<BizInnerTurnover>(BizInnerTurnover.class);
+        util.exportExcel(response, list, "工段内部人周转表数据");
+    }
+
+    /**
+     * 获取工段内部人周转表详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('business:innerTurnover:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(bizInnerTurnoverService.getById(id));
+    }
+
+    /**
+     * 新增工段内部人周转表
+     */
+    @PreAuthorize("@ss.hasPermi('business:innerTurnover:add')")
+    @Log(title = "工段内部人周转表", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody BizInnerTurnover bizInnerTurnover) throws NoSuchFieldException, IllegalAccessException
+    {
+        setTenantId(bizInnerTurnover);
+        return toAjax(bizInnerTurnoverService.save(bizInnerTurnover));
+    }
+
+    /**
+     * 修改工段内部人周转表
+     */
+    @PreAuthorize("@ss.hasPermi('business:innerTurnover:edit')")
+    @Log(title = "工段内部人周转表", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody BizInnerTurnover bizInnerTurnover) throws NoSuchFieldException, IllegalAccessException
+    {
+        setTenantId(bizInnerTurnover);
+        return toAjax(bizInnerTurnoverService.updateById(bizInnerTurnover));
+    }
+
+    /**
+     * 删除工段内部人周转表
+     */
+    @PreAuthorize("@ss.hasPermi('business:innerTurnover:remove')")
+    @Log(title = "工段内部人周转表", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable List<Long> ids)
+    {
+        return toAjax(bizInnerTurnoverService.removeBatchByIds(ids));
+    }
+}

+ 55 - 0
src/main/java/cn/ezhizao/project/business/innerTurnover/domain/BizInnerTurnover.java

@@ -0,0 +1,55 @@
+package cn.ezhizao.project.business.innerTurnover.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 工段内部人周转表对象 biz_inner_turnover
+ *
+ * @author ezhizao
+ * @date 2024-07-08
+ */
+@Data
+@TableName(value = "biz_inner_turnover")
+public class BizInnerTurnover extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 租户ID */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+
+    /** 工段id */
+    @ApiModelProperty(value = "${comment}")
+    private Long deptId;
+
+    /** 用户账号(编码) */
+    @Excel(name = "用户账号", readConverterExp = "编=码")
+    @ApiModelProperty(value = "用户账号")
+    private String userName;
+    private Long userId;
+
+    /** 用户姓名 */
+    @Excel(name = "用户姓名")
+    @ApiModelProperty(value = "用户姓名")
+    private String nickName;
+
+    /** 手机号码 */
+    @Excel(name = "手机号码")
+    @ApiModelProperty(value = "手机号码")
+    private String phoneNumber;
+
+    /** 用户性别(未知、男、女) */
+    @Excel(name = "用户性别", readConverterExp = "未=知、男、女")
+    @ApiModelProperty(value = "用户性别")
+    private String sex;
+
+    /** 使用单位名称 */
+    @Excel(name = "使用单位名称")
+    @ApiModelProperty(value = "使用单位名称")
+    private String usageCompanyName;
+
+}

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

@@ -0,0 +1,30 @@
+package cn.ezhizao.project.business.innerTurnover.mapper;
+
+import java.util.List;
+
+import cn.ezhizao.project.business.innerTurnover.domain.BizInnerTurnover;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 工段内部人周转表Mapper接口
+ *
+ * @author ezhizao
+ * @date 2024-07-08
+ */
+public interface BizInnerTurnoverMapper extends BaseMapper<BizInnerTurnover>
+{
+    /**
+     * 查询工段内部人周转表列表
+     *
+     * @param bizInnerTurnover 工段内部人周转表
+     * @return 工段内部人周转表集合
+     */
+    public List<BizInnerTurnover> getList(BizInnerTurnover bizInnerTurnover);
+
+    /**
+     * 物理删除
+     * @param bizInnerTurnover
+     * @return 删除结果
+    */
+    public int physicalDelete(BizInnerTurnover bizInnerTurnover);
+}

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

@@ -0,0 +1,31 @@
+package cn.ezhizao.project.business.innerTurnover.service;
+
+import java.util.List;
+
+import cn.ezhizao.project.business.innerTurnover.domain.BizInnerTurnover;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 工段内部人周转表Service接口
+ *
+ * @author ezhizao
+ * @date 2024-07-08
+ */
+public interface IBizInnerTurnoverService extends IService<BizInnerTurnover>
+{
+    /**
+     * 查询工段内部人周转表列表
+     *
+     * @param bizInnerTurnover 工段内部人周转表
+     * @return 工段内部人周转表集合
+     */
+    public List<BizInnerTurnover> getList(BizInnerTurnover bizInnerTurnover);
+
+    /**
+     * 物理删除
+     * @param bizInnerTurnover
+     * @return 删除结果
+     */
+    public int physicalDelete(BizInnerTurnover bizInnerTurnover);
+
+}

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

@@ -0,0 +1,45 @@
+package cn.ezhizao.project.business.innerTurnover.service.impl;
+
+import java.util.List;
+import javax.annotation.Resource;
+
+import cn.ezhizao.project.business.innerTurnover.domain.BizInnerTurnover;
+import cn.ezhizao.project.business.innerTurnover.mapper.BizInnerTurnoverMapper;
+import cn.ezhizao.project.business.innerTurnover.service.IBizInnerTurnoverService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * 工段内部人周转表Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2024-07-08
+ */
+@Service
+public class BizInnerTurnoverServiceImpl  extends ServiceImpl<BizInnerTurnoverMapper, BizInnerTurnover> implements IBizInnerTurnoverService
+{
+    @Resource
+    private BizInnerTurnoverMapper bizInnerTurnoverMapper;
+
+    /**
+     * 查询工段内部人周转表列表
+     *
+     * @param bizInnerTurnover 工段内部人周转表
+     * @return 工段内部人周转表
+     */
+    @Override
+    public List<BizInnerTurnover> getList(BizInnerTurnover bizInnerTurnover)
+    {
+        return bizInnerTurnoverMapper.getList(bizInnerTurnover);
+    }
+
+    /**
+     * 物理删除
+     * @param bizInnerTurnover
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizInnerTurnover bizInnerTurnover){ return bizInnerTurnoverMapper.physicalDelete(bizInnerTurnover); };
+
+}

+ 5 - 1
src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkCarrierController.java

@@ -51,7 +51,11 @@ public class BizDayworkCarrierController extends BaseController
         List<BizDayworkCarrier> list = bizDayworkCarrierService.getList(bizDayworkCarrier);
         return getDataTable(list);
     }
-
+    @PostMapping("/getDayworkCarrierByCarrierCode")
+    public AjaxResult getDayworkCarrierByCarrierCode(@RequestBody  BizDayworkCarrier bizDayworkCarrier) throws NoSuchFieldException, IllegalAccessException
+    {
+        return success(bizDayworkCarrierService.getDayworkCarrierByCarrierCode(bizDayworkCarrier));
+    }
     /**
      * 导出报工载具中间表列表
      */

+ 104 - 1
src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkController.java

@@ -10,11 +10,14 @@ import cn.ezhizao.project.business.deptProcess.domain.BizDeptProcess;
 import cn.ezhizao.project.business.process.domain.BizProcess;
 import cn.ezhizao.project.business.product.domain.*;
 import cn.ezhizao.project.business.product.service.*;
+import cn.ezhizao.project.business.resourceGroup.domain.BizProductionResourceGroupDetail;
 import cn.ezhizao.project.business.resourceGroup.service.IBizProductionResourceGroupDetailService;
 import cn.ezhizao.project.business.technologicalProcessDetail.domain.BizTechnologicalProcessDetail;
 import cn.ezhizao.project.business.technologicalProcessDetail.service.IBizTechnologicalProcessDetailService;
 import cn.ezhizao.project.system.domain.SysUser;
+import cn.ezhizao.project.system.service.ISysUserService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import io.swagger.models.auth.In;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
@@ -67,6 +70,8 @@ public class BizDayworkController extends BaseController {
 
     @Resource
     private IBizProductionPlanDetailService bizProductionPlanDetailService;
+    @Resource
+    private ISysUserService sysUserService;
 
     /*
     @Transactional
@@ -299,6 +304,13 @@ public class BizDayworkController extends BaseController {
             // 循环最终要展示的 daywork 集合,根据每个daywork,精确赋予相关数据
             List<Long> allLotIds = dayworkList.stream().map(BizDaywork::getLotId).collect(Collectors.toList());
             List<BizLot> allLots = bizLotService.query().in("id", allLotIds).list();
+            List<Long> allDayworkIds = dayworkList.stream().map(BizDaywork::getId).collect(Collectors.toList());
+            //查找被邀请者的id
+            List<BizProductionResourceGroupDetail> protemResourceGroupDetail = bizProductionResourceGroupDetailService.query().in("protem_daywork_id", allDayworkIds.isEmpty() ? Collections.singletonList(0L) : allDayworkIds)
+                    .eq("common_id",userId).eq("common_type","person").list();
+            List<Long> protemUserIds = protemResourceGroupDetail.stream().map(BizProductionResourceGroupDetail::getCreatorId).distinct().collect(Collectors.toList());
+            protemUserIds.add(0L);
+            List<SysUser> sysUsers = sysUserService.selectUserListByIds(protemUserIds);
             for (BizDaywork daywork : dayworkList) {
                 //把批次的lot投产数量加到daywork里
                 allLots.stream().filter(l -> l.getId().equals(daywork.getLotId()))
@@ -474,6 +486,14 @@ public class BizDayworkController extends BaseController {
                     }
                     daywork.setProcessSequence(processSequence);
                 }
+                /* ************************** 以下是为了获得当前登录这资源组信息,判断邀请报工 ************************** */
+                if(!sysUsers.isEmpty()){
+                    List<BizProductionResourceGroupDetail> protemDetailList = protemResourceGroupDetail.stream().filter(item ->item.getProtemDayworkId().equals(daywork.getId())).collect(Collectors.toList());
+                    protemDetailList.forEach(item ->{
+                        item.setProtemCreatorName(sysUsers.stream().filter(label ->label.getUserId().equals(item.getCreatorId())).collect(Collectors.toList()).get(0).getNickName());
+                    });
+                    daywork.setProtemResourceGroupDetailList(protemDetailList);
+                }
 
                 /* ************************** 以下是为了获得当前 daywork 的下一道工序 ************************** */
                 // 判断当前工段
@@ -903,7 +923,90 @@ public class BizDayworkController extends BaseController {
             return toAjax(saveOrUpdateCarrierBatch(bizDayworkCarrierService, bizDaywork.getDayworkCarriers(), oldList));
         }
     }
-
+    @PostMapping("/getLotInformation")
+    public AjaxResult getLotInformation(@RequestBody BizDaywork bizDaywork) {
+            BizDaywork daywork= bizDayworkService.getLotInfo(bizDaywork);
+            List<BizTechnologicalProcessDetail> normalTechnologicalProcessDetailList = new ArrayList<>();
+            List<BizLotTechnologicalProcessDetail> abNormalTechnologicalProcessDetailList = new ArrayList<>();
+            //最新的工序步骤
+            String lastProcessStepNumber = daywork.getDayworkItemList().stream().sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList()).get(0).getProcessStepNumber();
+            List<BizDayworkItem> lastDayworkItemList = daywork.getDayworkItemList().stream().filter(info -> info.getProcessStepNumber().equals(lastProcessStepNumber)).collect(Collectors.toList());
+            //当前设备
+            daywork.setCurrentEquipmentCode(lastDayworkItemList.stream().sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList()).get(0).getEquipmentDetailCode());
+            //当前操作者
+            daywork.setCurrentNickName(lastDayworkItemList.stream().sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList()).get(0).getNickName());
+            //合格数量
+            daywork.setTotalQuantityNum(lastDayworkItemList.stream().filter(info -> info.getStatus().equals("1" )|| info.getStatus().equals("2") ||info.getStatus().equals("3")).map(BizDayworkItem::getQualifiedNum).reduce(0, Integer::sum));
+                if(daywork.getIsWasteRecycling() == 1 || daywork.getIsAmend() == 1) {
+                    abNormalTechnologicalProcessDetailList = bizLotTechnologicalProcessDetailService.query().in("lot_technological_process_id", daywork.getTechnologicalProcessId()).orderByAsc("process_step_number").list();
+                    List<BizProcess> processSequence = new ArrayList<>();
+                    for (BizLotTechnologicalProcessDetail detail : abNormalTechnologicalProcessDetailList) {
+                        BizProcess newProcess = new BizProcess();
+                        newProcess.setId(detail.getProcessId());
+                        newProcess.setProcessCode(detail.getProcessCode());
+                        newProcess.setProcessAlias(detail.getProcessAlias());
+                        newProcess.setTechnologicalProcessDetailId(detail.getId());
+                        newProcess.setProcessStepNumber(detail.getProcessStepNumber());
+                        processSequence.add(newProcess);
+                    }
+                    daywork.setProcessSequence(processSequence);
+                    BizLotTechnologicalProcessDetail currentProcessDetail = abNormalTechnologicalProcessDetailList.stream().filter(info->info.getProcessStepNumber().equals(lastProcessStepNumber)).collect(Collectors.toList()).get(0);
+                    BizProcess currentProcess = new BizProcess();
+                    currentProcess.setProcessStepNumber(lastProcessStepNumber);
+                    currentProcess.setProcessAlias(lastDayworkItemList.get(0).getProcessAlias());
+                    daywork.setCurrentProcess(currentProcess);
+                    //上一道序
+                    List<BizDayworkItem> filteredList = daywork.getDayworkItemList().stream()
+                            .filter(info -> !info.getProcessStepNumber().equals(lastProcessStepNumber))
+                            .sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
+                            .collect(Collectors.toList());
+                    BizProcess prevProcess = new BizProcess();
+                    if(!filteredList.isEmpty()) {
+                        prevProcess.setProcessAlias(filteredList.get(0).getProcessAlias());
+                        daywork.setPrevProcess(prevProcess);
+                    }
+                    BizProcess nextProcess = new BizProcess();
+                    if(abNormalTechnologicalProcessDetailList.indexOf(currentProcessDetail) != abNormalTechnologicalProcessDetailList.size() -1) {
+                        nextProcess.setProcessAlias(abNormalTechnologicalProcessDetailList.get(abNormalTechnologicalProcessDetailList.indexOf(currentProcessDetail) + 1).getProcessAlias());
+                        daywork.setNextProcess(nextProcess);
+                    }
+                }else{
+                    normalTechnologicalProcessDetailList =  bizTechnologicalProcessDetailService.query().eq("technological_process_id", daywork.getTechnologicalProcessId()).orderByAsc("process_step_number").list();
+                    List<BizProcess> processSequence = new ArrayList<>();
+                    for (BizTechnologicalProcessDetail detail : normalTechnologicalProcessDetailList) {
+                        BizProcess newProcess = new BizProcess();
+                        newProcess.setId(detail.getProcessId());
+                        newProcess.setProcessCode(detail.getProcessCode());
+                        newProcess.setProcessAlias(detail.getProcessAlias());
+                        newProcess.setTechnologicalProcessDetailId(detail.getId());
+                        newProcess.setProcessStepNumber(detail.getProcessStepNumber());
+                        processSequence.add(newProcess);
+                    }
+                    daywork.setProcessSequence(processSequence);
+                    BizTechnologicalProcessDetail currentProcessDetail =normalTechnologicalProcessDetailList.stream().filter(info->info.getProcessStepNumber().equals(lastProcessStepNumber)).collect(Collectors.toList()).get(0);
+                    BizProcess currentProcess = new BizProcess();
+                    currentProcess.setProcessStepNumber(lastProcessStepNumber);
+                    currentProcess.setProcessAlias(lastDayworkItemList.get(0).getProcessAlias());
+                    daywork.setCurrentProcess(currentProcess);
+                    //上一道序
+                    List<BizDayworkItem> filteredList = daywork.getDayworkItemList().stream()
+                            .filter(info -> !info.getProcessStepNumber().equals(lastProcessStepNumber))
+                            .sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed())
+                            .collect(Collectors.toList());
+                    BizProcess prevProcess = new BizProcess();
+                    if(!filteredList.isEmpty()) {
+                        prevProcess.setProcessAlias(filteredList.get(0).getProcessAlias());
+                        daywork.setPrevProcess(prevProcess);
+                    }
+                    BizProcess nextProcess = new BizProcess();
+                    if(normalTechnologicalProcessDetailList.indexOf(currentProcessDetail) != normalTechnologicalProcessDetailList.size() - 1){
+                        nextProcess.setProcessAlias(normalTechnologicalProcessDetailList.get(normalTechnologicalProcessDetailList.indexOf(currentProcessDetail) + 1).getProcessAlias());
+                        daywork.setNextProcess(nextProcess);
+                    }
+                }
+                daywork.setStatus(bizDayworkService.getStatus(daywork));
+                 return success(daywork);
+    }
     @Transactional
     @PostMapping("/check")
     @Log(title = "报工", businessType = BusinessType.SELECT)

+ 149 - 1
src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkItemController.java

@@ -354,7 +354,145 @@ public class BizDayworkItemController extends BaseController {
         ExcelUtil<BizDayworkItem> util = new ExcelUtil<BizDayworkItem>(BizDayworkItem.class);
         util.exportExcel(response, list, "报工记录数据");
     }
+    @PostMapping("/getInnerTurnoverByDeptId")
+    public AjaxResult getInnerTurnoverByDeptId(@RequestBody BizDayworkItem bizDayworkItem) {
+        List<BizDaywork> dayworkList = bizDayworkItemService.getInnerListByDeptId(bizDayworkItem);
+        if(!dayworkList.isEmpty()){
+            List<Long> dayworkIds = dayworkList.stream().map(BizDaywork::getId).collect(Collectors.toList());
+            //正常批次的工序集合
+            List<Long> normalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 0 && item.getIsAmend() == 0).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
+            List<BizTechnologicalProcessDetail> normalDetailList = bizTechnologicalProcessDetailService.query().in("technological_process_id", normalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : normalTechnologicalProcessIds).orderByAsc("process_step_number").list();
+           //不正常批次的工序集合
+            List<Long> abNormalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 1 || item.getIsAmend() == 1).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
+            List<BizLotTechnologicalProcessDetail> abNormalDetailList = bizLotTechnologicalProcessDetailService.query().in("lot_technological_process_id", abNormalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : abNormalTechnologicalProcessIds).orderByAsc("process_step_number").list();
+            List<BizDayworkItem> dayworkItemList = bizDayworkItemService.query().in("daywork_id", dayworkIds).list();
+            dayworkList.forEach(daywork -> {
+                List<BizDayworkItem> dayworkItem = dayworkItemList.stream().filter(item -> item.getDayworkId().equals(daywork.getId())).sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList());
+                String lastProcessStepNumber = dayworkItem.get(0).getProcessStepNumber();
+                //当前工序报工信息
+                List<BizDayworkItem> lastDayworkItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && (item.getStatus().equals("2") || item.getStatus().equals("3"))).collect(Collectors.toList());
+               //合格数量求和
+                daywork.setTemporaryProcessQualifiedNum(lastDayworkItem.stream().mapToInt(BizDayworkItem::getQualifiedNum).sum());
+                //周转的报工信息
+                BizDayworkItem turnoverItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && item.getStatus().equals("4")).collect(Collectors.toList()).get(0);
+                daywork.setDayworkItemList(new ArrayList<BizDayworkItem>() {{
+                    add(turnoverItem);
+                }});
+                //周转位置
+                daywork.setPlace(turnoverItem.getPlace());
+                //设置操作者
+                daywork.setCreatorName(turnoverItem.getNickName());
+                List<BizProcess> processSequence = new ArrayList<>();
+                //工序集合
+                if (daywork.getIsAmend() == 1 || daywork.getIsWasteRecycling() == 1) {
+                    BizProcess process = new BizProcess();
+                    BizLotTechnologicalProcessDetail processDetail = abNormalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
+                    process.setProcessAlias(processDetail.getProcessAlias());
+                    process.setProcessStepNumber(processDetail.getProcessStepNumber());
+                    daywork.setCurrentProcess(process);
+                    for (BizLotTechnologicalProcessDetail detail : abNormalDetailList) {
+                        BizProcess newProcess = new BizProcess();
+                        newProcess.setId(detail.getProcessId());
+                        newProcess.setProcessCode(detail.getProcessCode());
+                        newProcess.setProcessAlias(detail.getProcessAlias());
+                        newProcess.setTechnologicalProcessDetailId(detail.getId());
+                        newProcess.setProcessStepNumber(detail.getProcessStepNumber());
+                        processSequence.add(newProcess);
+                    }
+                    daywork.setProcessSequence(processSequence);
+                } else {
+                    BizProcess process = new BizProcess();
+                    BizTechnologicalProcessDetail processDetail = normalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
+                    process.setProcessAlias(processDetail.getProcessAlias());
+                    process.setProcessStepNumber(processDetail.getProcessStepNumber());
+                    daywork.setCurrentProcess(process);
+                    for (BizTechnologicalProcessDetail detail : normalDetailList) {
+                        BizProcess newProcess = new BizProcess();
+                        newProcess.setId(detail.getProcessId());
+                        newProcess.setProcessCode(detail.getProcessCode());
+                        newProcess.setProcessAlias(detail.getProcessAlias());
+                        newProcess.setProcessStepNumber(detail.getProcessStepNumber());
+                        newProcess.setTechnologicalProcessDetailId(detail.getId());
+                        processSequence.add(newProcess);
+                    }
+                    daywork.setProcessSequence(processSequence);
+                }
+            });
+        }
+        return success(dayworkList);
+    }
+    @PostMapping("/updateDayworkItemInnerTurnover")
+    public AjaxResult updateDayworkItemInnerTurnover(@RequestBody List<BizDayworkItem> bizDayworkItem) {
+        bizDayworkItem.forEach(item -> {
+            item.setIsInnerTurnover(1);
+        });
 
+        return success(bizDayworkItemService.updateBatchById(bizDayworkItem));
+    }
+    @PostMapping("/getOutTurnoverByDeptId")
+    public AjaxResult getOutTurnoverByDeptId(@RequestBody BizDayworkItem bizDayworkItem) {
+        List<BizDaywork> dayworkList = bizDayworkItemService.getOutListByDeptId(bizDayworkItem);
+        if(!dayworkList.isEmpty()){
+            List<Long> dayworkIds = dayworkList.stream().map(BizDaywork::getId).collect(Collectors.toList());
+            //正常批次的工序集合
+            List<Long> normalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 0 && item.getIsAmend() == 0).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
+            List<BizTechnologicalProcessDetail> normalDetailList = bizTechnologicalProcessDetailService.query().in("technological_process_id", normalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : normalTechnologicalProcessIds).orderByAsc("process_step_number").list();
+            //不正常批次的工序集合
+            List<Long> abNormalTechnologicalProcessIds = dayworkList.stream().filter(item -> item.getIsWasteRecycling() == 1 || item.getIsAmend() == 1).map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
+            List<BizLotTechnologicalProcessDetail> abNormalDetailList = bizLotTechnologicalProcessDetailService.query().in("lot_technological_process_id", abNormalTechnologicalProcessIds.isEmpty() ? Collections.singletonList(0L) : abNormalTechnologicalProcessIds).orderByAsc("process_step_number").list();
+            List<BizDayworkItem> dayworkItemList = bizDayworkItemService.query().in("daywork_id", dayworkIds).list();
+            dayworkList.forEach(daywork -> {
+                List<BizDayworkItem> dayworkItem = dayworkItemList.stream().filter(item -> item.getDayworkId().equals(daywork.getId())).sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList());
+                String lastProcessStepNumber = dayworkItem.get(0).getProcessStepNumber();
+                //当前工序报工信息
+                List<BizDayworkItem> lastDayworkItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && (item.getStatus().equals("2") || item.getStatus().equals("3"))).collect(Collectors.toList());
+                //合格数量求和
+                daywork.setTemporaryProcessQualifiedNum(lastDayworkItem.stream().mapToInt(BizDayworkItem::getQualifiedNum).sum());
+                //周转的报工信息
+                BizDayworkItem turnoverItem = dayworkItem.stream().filter(item -> item.getProcessStepNumber().equals(lastProcessStepNumber) && item.getStatus().equals("4")).collect(Collectors.toList()).get(0);
+                //周转位置
+                daywork.setPlace(turnoverItem.getTurnoverArea());
+                //设置操作者
+                daywork.setCreatorName(turnoverItem.getNickName());
+                List<BizProcess> processSequence = new ArrayList<>();
+                //工序集合
+                if (daywork.getIsAmend() == 1 || daywork.getIsWasteRecycling() == 1) {
+                    BizProcess process = new BizProcess();
+                    BizLotTechnologicalProcessDetail processDetail = abNormalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
+                    process.setProcessAlias(processDetail.getProcessAlias());
+                    process.setProcessStepNumber(processDetail.getProcessStepNumber());
+                    daywork.setCurrentProcess(process);
+                    for (BizLotTechnologicalProcessDetail detail : abNormalDetailList) {
+                        BizProcess newProcess = new BizProcess();
+                        newProcess.setId(detail.getProcessId());
+                        newProcess.setProcessCode(detail.getProcessCode());
+                        newProcess.setProcessAlias(detail.getProcessAlias());
+                        newProcess.setTechnologicalProcessDetailId(detail.getId());
+                        newProcess.setProcessStepNumber(detail.getProcessStepNumber());
+                        processSequence.add(newProcess);
+                    }
+                    daywork.setProcessSequence(processSequence);
+                } else {
+                    BizProcess process = new BizProcess();
+                    BizTechnologicalProcessDetail processDetail = normalDetailList.stream().filter(item -> item.getProcessStepNumber().equals(turnoverItem.getProcessStepNumber())).collect(Collectors.toList()).get(0);
+                    process.setProcessAlias(processDetail.getProcessAlias());
+                    process.setProcessStepNumber(processDetail.getProcessStepNumber());
+                    daywork.setCurrentProcess(process);
+                    for (BizTechnologicalProcessDetail detail : normalDetailList) {
+                        BizProcess newProcess = new BizProcess();
+                        newProcess.setId(detail.getProcessId());
+                        newProcess.setProcessCode(detail.getProcessCode());
+                        newProcess.setProcessAlias(detail.getProcessAlias());
+                        newProcess.setProcessStepNumber(detail.getProcessStepNumber());
+                        newProcess.setTechnologicalProcessDetailId(detail.getId());
+                        processSequence.add(newProcess);
+                    }
+                    daywork.setProcessSequence(processSequence);
+                }
+            });
+        }
+        return success(dayworkList);
+    }
     /**
      * 获取报工记录详细信息
      */
@@ -703,7 +841,16 @@ public class BizDayworkItemController extends BaseController {
         }
         return toAjax(b);
     }
-
+    @PostMapping("/getDayworkItemByDayworkId")
+    public AjaxResult getDayworkItemByDayworkId(@RequestBody BizDayworkItem bizDayworkItem) {
+        List<BizDayworkItem> list = bizDayworkItemService.getListByDayworkId(bizDayworkItem);
+        return success(list);
+    }
+    @PostMapping("/getSortItemByDayworkId")
+    public AjaxResult getSortItemByDayworkId(@RequestBody BizDayworkItem bizDayworkItem) {
+        List<BizDayworkItem> list = bizDayworkItemService.getSortListByDayworkId(bizDayworkItem);
+        return success(list);
+    }
     /**
      * 临时报工
      */
@@ -819,6 +966,7 @@ public class BizDayworkItemController extends BaseController {
                     newDetail.setCommonType(item.getCommonType());
                     newDetail.setProtemDayworkId(item.getProtemDayworkId());
                     newDetail.setProtemProcessId(item.getProtemProcessId());
+                    newDetail.setProtemProcessStepNumber(item.getProtemProcessStepNumber());
                     newDetail.setDeptId(item.getDeptId());
                     // 设置 productionResourceGroupId 属性为当前的 id
                     newDetail.setProductionResourceGroupId(id);

+ 12 - 0
src/main/java/cn/ezhizao/project/business/product/controller/BizFurnaceNoInfoController.java

@@ -1,6 +1,8 @@
 package cn.ezhizao.project.business.product.controller;
 
+import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
@@ -10,7 +12,10 @@ 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.product.domain.BizDaywork;
+import cn.ezhizao.project.business.product.domain.BizDayworkCarrier;
 import cn.ezhizao.project.business.product.domain.BizFurnaceNoInfo;
+import cn.ezhizao.project.business.product.service.IBizDayworkCarrierService;
 import cn.ezhizao.project.business.product.service.IBizFurnaceNoInfoService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -35,6 +40,8 @@ public class BizFurnaceNoInfoController extends BaseController
 {
     @Resource
     private IBizFurnaceNoInfoService bizFurnaceNoInfoService;
+    @Resource
+    private IBizDayworkCarrierService bizDayworkCarrierService;
 
     /**
      * 查询企业租户列表
@@ -48,6 +55,11 @@ public class BizFurnaceNoInfoController extends BaseController
         List<BizFurnaceNoInfo> list = bizFurnaceNoInfoService.getList(bizFurnaceNoInfo);
         return getDataTable(list);
     }
+    @PostMapping ("/getFurnaceNoInfoByDayworkId")
+    public AjaxResult getFurnaceNoInfoByDayworkId(@RequestBody BizFurnaceNoInfo bizFurnaceNoInfo) throws NoSuchFieldException, IllegalAccessException
+    {
+        return success(bizFurnaceNoInfoService.query().eq("daywork_id", bizFurnaceNoInfo.getDayworkId()).one());
+    }
 
     /**
      * 导出企业租户列表

+ 41 - 0
src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java

@@ -317,6 +317,47 @@ public class BizProcessInspecionController extends BaseController {
         dayworkItem.setIsProcessInspection(1);
         return success(bizDayworkItemService.saveOrUpdate(dayworkItem) && bizDayworkItemConsultService.saveOrUpdateBatch(consults));
     }
+    @PostMapping("/getProcessInspectionByDayworkId")
+    public AjaxResult getProcessInspectionByDayworkId(@RequestBody BizProcessInspecion processInspecion) {
+        List<BizProcessInspectionDetail> list = bizProcessInspecionService.getInspectionByDayworkId(processInspecion);
+        List<BizDayworkItemConsult> bizDayworkItemConsultList = new ArrayList<>();
+        if(!list.isEmpty()) {
+            //咨询信息
+            List<Long> inspectionIds = list.stream().map(BizProcessInspectionDetail::getProcessInspectionId).distinct().collect(Collectors.toList());
+            bizDayworkItemConsultList = bizDayworkItemConsultService.getListByInspectionIds(inspectionIds);
+        }
+        // 并将每个分组的元素收集到一个 List 中
+        Map<Long, List<BizProcessInspectionDetail>> groupedByProcessInspectionId =
+                list.stream()
+                        .collect(Collectors.groupingBy(
+                                BizProcessInspectionDetail::getProcessInspectionId, // 分组依据的函数
+                                Collectors.toList() // 指定分组内的元素收集为 List
+                        ));
+        List<BizProcessInspecion> result = new ArrayList<>();
+        for (Map.Entry<Long, List<BizProcessInspectionDetail>> entry : groupedByProcessInspectionId.entrySet()) {
+                List<BizProcessInspectionDetail> details = entry.getValue();
+                BizProcessInspecion bizProcessInspecion = new BizProcessInspecion();
+                bizProcessInspecion.setProcessAlias(details.get(0).getProcessAlias());
+                bizProcessInspecion.setNickName(details.get(0).getInspectionName());
+                bizProcessInspecion.setRemark(details.get(0).getRemark());
+                bizProcessInspecion.setStatus(details.get(0).getStatus());
+                bizProcessInspecion.setId(details.get(0).getProcessInspectionId());
+                List<BizProcessInspectionDetail> rejectList = new ArrayList<>();
+                for (BizProcessInspectionDetail reject : details) {
+                    BizProcessInspectionDetail rejectInfo = new BizProcessInspectionDetail();
+                    rejectInfo.setCheckStandard(reject.getCheckStandard());
+                    rejectInfo.setRejectNum(reject.getRejectNum());
+                    rejectInfo.setCheckResult(reject.getCheckResult());
+                    rejectList.add(rejectInfo);
+                }
+                bizProcessInspecion.setProcessInspectionDetails(rejectList);
+            if(!bizDayworkItemConsultList.isEmpty()) {
+                bizProcessInspecion.setDayworkItemConsults(bizDayworkItemConsultList.stream().filter(item -> item.getProcessInspectionId().equals(bizProcessInspecion.getId())).collect(Collectors.toList()));
+            }
+                result.add(bizProcessInspecion);
+        }
+        return success(result);
+    }
 
     /**
      * 新增序检信息

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

@@ -6,6 +6,7 @@ import java.util.List;
 import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 import cn.ezhizao.framework.web.domain.BaseEntity;
 import cn.ezhizao.project.business.process.domain.BizProcess;
+import cn.ezhizao.project.business.resourceGroup.domain.BizProductionResourceGroupDetail;
 import cn.ezhizao.project.business.technologicalProcessDetail.domain.BizTechnologicalProcessDetail;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -189,4 +190,20 @@ public class BizDaywork extends BaseEntity
     private Integer isWaste;
     @TableField(exist = false)
     private Long fromId;
+    @TableField(exist = false)
+    private List<BizProductionResourceGroupDetail> protemResourceGroupDetailList;
+    @TableField(exist = false)
+    private String carrierCode;
+    @TableField(exist = false)
+    private String productDescription;
+    @TableField(exist = false)
+    private String currentNickName;
+    @TableField(exist = false)
+    private String currentEquipmentCode;
+    @TableField(exist = false)
+    private Integer totalQuantityNum;
+    @TableField(exist = false)
+    private String creatorName;
+
+
 }

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

@@ -86,5 +86,9 @@ public class BizDayworkCarrier extends BaseEntity
     //工序编码
     @TableField(exist = false)
     private List<String> processCode;
+    @TableField(exist = false)
+    private Long value;
+    @TableField(exist = false)
+    private String label;
 
 }

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

@@ -269,4 +269,5 @@ public class BizDayworkItem extends BaseEntity
     @TableField(exist = false)
     private String processAlias;
     private Integer isSort;
+    private Integer isInnerTurnover;
 }

+ 3 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkItemConsult.java

@@ -2,6 +2,7 @@ package cn.ezhizao.project.business.product.domain;
 
 
 import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -88,5 +89,7 @@ public class BizDayworkItemConsult extends BaseEntity
 
     @ApiModelProperty(value = "技术员Id")
     private Long technicianId;
+    @TableField(exist = false)
+    private String technicianName;
 
 }

+ 8 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkItemReject.java

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * 废品原因对象 biz_daywork_item_reject
  *
@@ -84,5 +86,11 @@ public class BizDayworkItemReject extends BaseEntity
 
     @ApiModelProperty("类型")
     private Integer type;
+    @TableField(exist = false)
+    private Integer status;
+    @TableField(exist = false)
+    private String processAlias;
+    @TableField(exist = false)
+    private String nickName;
 
 }

+ 3 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizFurnaceNoInfo.java

@@ -2,6 +2,7 @@ package cn.ezhizao.project.business.product.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 lombok.Data;
 import io.swagger.annotations.ApiModelProperty;
@@ -84,5 +85,7 @@ public class BizFurnaceNoInfo extends BaseEntity
     @Excel(name = "来料日期")
     @ApiModelProperty(value = "来料日期")
     private String incomingDate;
+    @TableField(exist = false)
+    private String lotCode;
 
 }

+ 4 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizProcessInspecion.java

@@ -183,5 +183,9 @@ public class BizProcessInspecion extends BaseEntity
 
     @ApiModelProperty("外协单id")
     private Long outsourceOrderDetailId;
+    @TableField(exist = false)
+    private String processAlias;
+    @TableField(exist = false)
+    private List<BizProcessInspectionDetail> processInspectionDetails;
 
 }

+ 9 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizProcessInspectionDetail.java

@@ -2,6 +2,7 @@ package cn.ezhizao.project.business.product.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 lombok.Data;
 import io.swagger.annotations.ApiModelProperty;
@@ -115,5 +116,13 @@ public class BizProcessInspectionDetail extends BaseEntity
     @Excel(name = "检测量")
     @ApiModelProperty(value = "检测量")
     private Long examiningNum;
+    @TableField(exist = false)
+    private String processAlias;
+    @TableField(exist = false)
+    private String remark;
+    @TableField(exist = false)
+    private Integer status;
+    @TableField(exist = false)
+    private String inspectionName;
 
 }

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

@@ -19,6 +19,7 @@ public interface BizDayworkCarrierMapper extends BaseMapper<BizDayworkCarrier>
      * @return 报工载具中间表集合
      */
     public List<BizDayworkCarrier> getList(BizDayworkCarrier bizDayworkCarrier);
+    public List<BizDayworkCarrier> getDayworkCarrierByCarrierCode(BizDayworkCarrier bizDayworkCarrier);
 
     /**
      * 物理删除

+ 1 - 0
src/main/java/cn/ezhizao/project/business/product/mapper/BizDayworkItemConsultMapper.java

@@ -29,6 +29,7 @@ public interface BizDayworkItemConsultMapper extends BaseMapper<BizDayworkItemCo
      * @return 删除结果
      */
     public int physicalDelete(BizDayworkItemConsult bizDayworkItemConsult);
+    List<BizDayworkItemConsult> getListByInspectionIds(List<Long> inspectionIds);
 
 
 }

+ 4 - 1
src/main/java/cn/ezhizao/project/business/product/mapper/BizDayworkItemMapper.java

@@ -22,6 +22,8 @@ public interface BizDayworkItemMapper extends BaseMapper<BizDayworkItem>
      * @return 报工记录集合
      */
     public List<BizDayworkItem> getList(BizDayworkItem bizDayworkItem);
+    public List<BizDaywork> getInnerListByDeptId(BizDayworkItem bizDayworkItem);
+    public List<BizDaywork> getOutListByDeptId(BizDayworkItem bizDayworkItem);
 
     /**
      * 根据载具id查询待周转列表
@@ -29,7 +31,8 @@ public interface BizDayworkItemMapper extends BaseMapper<BizDayworkItem>
      * @return
      */
     public List<BizDayworkItem> getDayworkItemByCarrier(BizDayworkItem bizDayworkItem);
-
+    public List<BizDayworkItem> getListByDayworkId(BizDayworkItem bizDayworkItem);
+    public List<BizDayworkItem> getSortListByDayworkId(BizDayworkItem bizDayworkItem);
     /**
      * 根据载具code查询待周转列表
      * @param bizDayworkItem

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

@@ -37,6 +37,7 @@ public interface BizDayworkMapper extends BaseMapper<BizDaywork> {
      * @return 删除结果
      */
     public int turnoverDelete(BizDaywork bizDaywork);
+    public BizDaywork getLotInfo(BizDaywork bizDaywork);
 
     /**
      *  获取可用载具列表,用来扫一扫添加新批次

+ 3 - 0
src/main/java/cn/ezhizao/project/business/product/mapper/BizProcessInspecionMapper.java

@@ -2,7 +2,9 @@ package cn.ezhizao.project.business.product.mapper;
 
 import java.util.List;
 
+import cn.ezhizao.project.business.product.domain.BizDayworkItemReject;
 import cn.ezhizao.project.business.product.domain.BizProcessInspecion;
+import cn.ezhizao.project.business.product.domain.BizProcessInspectionDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
@@ -20,6 +22,7 @@ public interface BizProcessInspecionMapper extends BaseMapper<BizProcessInspecio
      * @return 序检主集合
      */
     public List<BizProcessInspecion> getList(BizProcessInspecion bizProcessInspecion);
+    public List<BizProcessInspectionDetail> getInspectionByDayworkId(BizProcessInspecion bizProcessInspecion);
 
     /**
      * 物理删除

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

@@ -19,6 +19,7 @@ public interface IBizDayworkCarrierService extends IService<BizDayworkCarrier>
      * @return 报工载具中间表集合
      */
     public List<BizDayworkCarrier> getList(BizDayworkCarrier bizDayworkCarrier);
+    public List<BizDayworkCarrier> getDayworkCarrierByCarrierCode(BizDayworkCarrier bizDayworkCarrier);
 
     /**
      * 物理删除

+ 1 - 0
src/main/java/cn/ezhizao/project/business/product/service/IBizDayworkItemConsultService.java

@@ -28,4 +28,5 @@ public interface IBizDayworkItemConsultService extends IService<BizDayworkItemCo
      * @return 删除结果
      */
     int physicalDelete(BizDayworkItemConsult bizDayworkItemConsult);
+    List<BizDayworkItemConsult> getListByInspectionIds(List<Long> inspectionIds);
 }

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

@@ -21,6 +21,8 @@ public interface IBizDayworkItemService extends IService<BizDayworkItem>
      * @return 报工记录集合
      */
     public List<BizDayworkItem> getList(BizDayworkItem bizDayworkItem);
+    public List<BizDaywork> getInnerListByDeptId(BizDayworkItem bizDayworkItem);
+    public List<BizDaywork> getOutListByDeptId(BizDayworkItem bizDayworkItem);
 
     /**
      * 物理删除
@@ -28,6 +30,8 @@ public interface IBizDayworkItemService extends IService<BizDayworkItem>
      * @return 删除结果
      */
     public int physicalDelete(BizDayworkItem bizDayworkItem);
+    public List<BizDayworkItem> getListByDayworkId(BizDayworkItem bizDayworkItem);
+    public List<BizDayworkItem> getSortListByDayworkId(BizDayworkItem bizDayworkItem);
 
     /**
      * 根据载具id查询待周转列表

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

@@ -38,6 +38,8 @@ public interface IBizDayworkService extends IService<BizDaywork>
     public int turnoverDelete(BizDaywork bizDaywork);
 
     public List<BizCarrier> getAvailableCarrierList(BizCarrier bizCarrier);
+    public BizDaywork getLotInfo(BizDaywork bizDaywork);
+    public Integer getStatus(BizDaywork bizDaywork);
 
     /**
      * 判断批数不能大于投产批数

+ 3 - 0
src/main/java/cn/ezhizao/project/business/product/service/IBizProcessInspecionService.java

@@ -2,7 +2,9 @@ package cn.ezhizao.project.business.product.service;
 
 import java.util.List;
 
+import cn.ezhizao.project.business.product.domain.BizDayworkItemReject;
 import cn.ezhizao.project.business.product.domain.BizProcessInspecion;
+import cn.ezhizao.project.business.product.domain.BizProcessInspectionDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
@@ -20,6 +22,7 @@ public interface IBizProcessInspecionService extends IService<BizProcessInspecio
      * @return 序检主集合
      */
     public List<BizProcessInspecion> getList(BizProcessInspecion bizProcessInspecion);
+    public List<BizProcessInspectionDetail> getInspectionByDayworkId(BizProcessInspecion bizProcessInspecion);
 
     /**
      * 物理删除

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

@@ -32,6 +32,11 @@ public class BizDayworkCarrierServiceImpl  extends ServiceImpl<BizDayworkCarrier
         return bizDayworkCarrierMapper.getList(bizDayworkCarrier);
     }
 
+    @Override
+    public List<BizDayworkCarrier> getDayworkCarrierByCarrierCode(BizDayworkCarrier bizDayworkCarrier) {
+        return bizDayworkCarrierMapper.getDayworkCarrierByCarrierCode(bizDayworkCarrier);
+    }
+
     /**
      * 物理删除
      * @param bizDayworkCarrier

+ 5 - 0
src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkItemConsultServiceImpl.java

@@ -42,4 +42,9 @@ public class BizDayworkItemConsultServiceImpl extends ServiceImpl<BizDayworkItem
     public int physicalDelete(BizDayworkItemConsult bizDayworkItemConsult) {
         return bizDayworkItemConsultMapper.physicalDelete(bizDayworkItemConsult);
     }
+
+    @Override
+    public List<BizDayworkItemConsult> getListByInspectionIds(List<Long> inspectionIds) {
+        return bizDayworkItemConsultMapper.getListByInspectionIds(inspectionIds);
+    }
 }

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

@@ -34,6 +34,16 @@ public class BizDayworkItemServiceImpl  extends ServiceImpl<BizDayworkItemMapper
         return bizDayworkItemMapper.getList(bizDayworkItem);
     }
 
+    @Override
+    public List<BizDaywork> getInnerListByDeptId(BizDayworkItem bizDayworkItem) {
+        return bizDayworkItemMapper.getInnerListByDeptId(bizDayworkItem);
+    }
+
+    @Override
+    public List<BizDaywork> getOutListByDeptId(BizDayworkItem bizDayworkItem) {
+        return bizDayworkItemMapper.getOutListByDeptId(bizDayworkItem);
+    }
+
     /**
      * 物理删除
      * @param bizDayworkItem
@@ -42,6 +52,16 @@ public class BizDayworkItemServiceImpl  extends ServiceImpl<BizDayworkItemMapper
     @Override
     public int physicalDelete(BizDayworkItem bizDayworkItem){ return bizDayworkItemMapper.physicalDelete(bizDayworkItem); }
 
+    @Override
+    public List<BizDayworkItem> getListByDayworkId(BizDayworkItem bizDayworkItem) {
+        return bizDayworkItemMapper.getListByDayworkId(bizDayworkItem);
+    }
+
+    @Override
+    public List<BizDayworkItem> getSortListByDayworkId(BizDayworkItem bizDayworkItem) {
+        return bizDayworkItemMapper.getSortListByDayworkId(bizDayworkItem);
+    }
+
     @Override
     public List<BizDayworkItem> getDayworkItemByCarrier(BizDayworkItem bizDayworkItem) {
         return bizDayworkItemMapper.getDayworkItemByCarrier(bizDayworkItem);

+ 47 - 5
src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkServiceImpl.java

@@ -1,13 +1,16 @@
 package cn.ezhizao.project.business.product.service.impl;
 
 import java.util.List;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 
 import cn.ezhizao.project.business.product.domain.BizCarrier;
 import cn.ezhizao.project.business.product.domain.BizDaywork;
+import cn.ezhizao.project.business.product.domain.BizDayworkItem;
 import cn.ezhizao.project.business.product.mapper.BizDayworkMapper;
 import cn.ezhizao.project.business.product.service.IBizDayworkService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import io.swagger.models.auth.In;
 import org.springframework.stereotype.Service;
 
 
@@ -18,8 +21,7 @@ import org.springframework.stereotype.Service;
  * @date 2023-11-29
  */
 @Service
-public class BizDayworkServiceImpl  extends ServiceImpl<BizDayworkMapper, BizDaywork> implements IBizDayworkService
-{
+public class BizDayworkServiceImpl extends ServiceImpl<BizDayworkMapper, BizDaywork> implements IBizDayworkService {
     @Resource
     private BizDayworkMapper bizDayworkMapper;
 
@@ -30,8 +32,7 @@ public class BizDayworkServiceImpl  extends ServiceImpl<BizDayworkMapper, BizDay
      * @return 报工
      */
     @Override
-    public List<BizDaywork> getList(BizDaywork bizDaywork)
-    {
+    public List<BizDaywork> getList(BizDaywork bizDaywork) {
         return bizDayworkMapper.getList(bizDaywork);
     }
 
@@ -41,7 +42,9 @@ public class BizDayworkServiceImpl  extends ServiceImpl<BizDayworkMapper, BizDay
      * @return 删除结果
      */
     @Override
-    public int physicalDelete(BizDaywork bizDaywork){ return bizDayworkMapper.physicalDelete(bizDaywork); }
+    public int physicalDelete(BizDaywork bizDaywork) {
+        return bizDayworkMapper.physicalDelete(bizDaywork);
+    }
 
     @Override
     public int turnoverDelete(BizDaywork bizDaywork) {
@@ -53,6 +56,45 @@ public class BizDayworkServiceImpl  extends ServiceImpl<BizDayworkMapper, BizDay
         return bizDayworkMapper.getAvailableCarrierList(bizCarrier);
     }
 
+    @Override
+    public BizDaywork getLotInfo(BizDaywork daywork) {
+        return bizDayworkMapper.getLotInfo(daywork);
+    }
+
+    @Override
+    public Integer getStatus(BizDaywork daywork) {
+        //默认未开始
+        Integer status = 0;
+        if (!daywork.getDayworkItemList().isEmpty()) {
+            boolean foundStatus3 = false;
+            boolean foundStatus2 = false;
+            boolean foundStatus1 = false;
+            List<BizDayworkItem> currentDayworkItemList = daywork.getDayworkItemList().stream().filter(item -> item.getProcessStepNumber().equals(daywork.getCurrentProcess().getProcessStepNumber())).collect(Collectors.toList());
+            List<String> currentStatusList = currentDayworkItemList.stream().map(BizDayworkItem::getStatus).collect(Collectors.toList());
+            //进行中
+            if ((currentStatusList.contains("1") || currentStatusList.contains("2")) && !currentStatusList.contains("3")) {
+                status = 1;
+            }
+            //待周转
+            if (currentStatusList.contains("4")) {
+                status = 2;
+            }
+            //周转中
+            if (currentStatusList.contains("5")) {
+                status = 3;
+            }
+            //已送达
+            if (currentStatusList.contains("7")) {
+                status = 4;
+            }
+            //工序已完成
+            if (currentStatusList.contains("3") && !currentStatusList.contains("4") && !currentStatusList.contains("5") && !currentStatusList.contains("7")) {
+                status = 5;
+            }
+        }
+        return status;
+    }
+
     @Override
     public Integer getLotNumber(Long productionPlanDetailId) {
         return bizDayworkMapper.getLotNumber(productionPlanDetailId);

+ 7 - 0
src/main/java/cn/ezhizao/project/business/product/service/impl/BizProcessInspecionServiceImpl.java

@@ -3,7 +3,9 @@ package cn.ezhizao.project.business.product.service.impl;
 import java.util.List;
 import javax.annotation.Resource;
 
+import cn.ezhizao.project.business.product.domain.BizDayworkItemReject;
 import cn.ezhizao.project.business.product.domain.BizProcessInspecion;
+import cn.ezhizao.project.business.product.domain.BizProcessInspectionDetail;
 import cn.ezhizao.project.business.product.mapper.BizProcessInspecionMapper;
 import cn.ezhizao.project.business.product.service.IBizProcessInspecionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -33,6 +35,11 @@ public class BizProcessInspecionServiceImpl  extends ServiceImpl<BizProcessInspe
         return bizProcessInspecionMapper.getList(bizProcessInspecion);
     }
 
+    @Override
+    public List<BizProcessInspectionDetail> getInspectionByDayworkId(BizProcessInspecion bizProcessInspecion) {
+        return bizProcessInspecionMapper.getInspectionByDayworkId(bizProcessInspecion);
+    }
+
     /**
      * 物理删除
      * @param bizProcessInspecion

+ 3 - 0
src/main/java/cn/ezhizao/project/business/resourceGroup/domain/BizProductionResourceGroupDetail.java

@@ -53,4 +53,7 @@ public class BizProductionResourceGroupDetail extends BaseEntity
     private List<Long> detailIds;
     @TableField(exist = false)
     private Long technologicalProcessDetailId;
+    private String protemProcessStepNumber;
+    @TableField(exist = false)
+    private String protemCreatorName;
 }

+ 1 - 0
src/main/java/cn/ezhizao/project/business/resourceGroup/service/impl/BizProductionResourceGroupDetailServiceImpl.java

@@ -90,6 +90,7 @@ public class BizProductionResourceGroupDetailServiceImpl  extends ServiceImpl<Bi
         QueryWrapper<BizProductionResourceGroupDetail> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("protem_daywork_id", bizDaywork.getId());
         queryWrapper.eq("protem_process_id", bizDaywork.getProtemProcessId());
+        queryWrapper.eq("protem_process_step_number", bizDaywork.getProcessStepNumber());
         queryWrapper.eq("deleted", 0);
         List<BizProductionResourceGroupDetail> list = list(queryWrapper);
         if (!list.isEmpty()) {

+ 35 - 0
src/main/resources/mybatis/business/innerTurnover/BizInnerTurnoverMapper.xml

@@ -0,0 +1,35 @@
+<?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.innerTurnover.mapper.BizInnerTurnoverMapper">
+
+    <resultMap type="cn.ezhizao.project.business.innerTurnover.domain.BizInnerTurnover" id="BizInnerTurnoverResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizInnerTurnover" resultMap="BizInnerTurnoverResult">
+        SELECT t1.* FROM biz_inner_turnover t1 left join sys_dept t2 on t1.dept_id = t2.dept_id
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            t1.deleted = 0 and t2.del_flag = 0 and t2.is_centralized_turnover = 1
+            <if test="userName != null  and userName != ''"> AND t1.user_name like concat('%', #{userName}, '%')</if>
+            <if test="nickName != null  and nickName != ''"> AND t1.nick_name like concat('%', #{nickName}, '%')</if>
+            <if test="userId != null  and nickName != ''"> AND t1.user_id = #{userId}</if>
+            <if test="deptId != null  "> AND t1.dept_id = #{deptId}</if>
+            <if test="phoneNumber != null  and phoneNumber != ''"> AND t1.phone_number = #{phoneNumber}</if>
+            <if test="sex != null  and sex != ''"> AND t1.sex = #{sex}</if>
+            <if test="usageCompanyName != null  and usageCompanyName != ''"> AND t1.usage_company_name like concat('%', #{usageCompanyName}, '%')</if>
+        </trim>
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_inner_turnover
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>

+ 4 - 1
src/main/resources/mybatis/business/product/BizDayworkCarrierMapper.xml

@@ -22,7 +22,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
         </trim>
     </select>
-
+    <select id="getDayworkCarrierByCarrierCode" resultType="cn.ezhizao.project.business.product.domain.BizDayworkCarrier">
+        select t1.daywork_id as value,t2.lot_code as label from biz_daywork_carrier t1 left join biz_daywork t2 on t1.daywork_id = t2.id
+        where t1.deleted = 0 and t1.is_changed = 0 and t1.carrier_code = #{carrierCode} and t2.deleted = 0
+    </select>
     <select id="getLotCode" resultType="java.lang.String">
         SELECT lot_code FROM biz_lot WHERE id = (SELECT lot_id FROM biz_daywork WHERE id = #{daywork_id})
     </select>

+ 7 - 1
src/main/resources/mybatis/business/product/BizDayworkItemConsultMapper.xml

@@ -20,7 +20,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </trim>
 
     </select>
-
+    <select id="getListByInspectionIds" resultMap="BizDayworkItemConsultResult">
+        select t1.*,t2.nick_name as technicianName from biz_daywork_item_consult t1 left join sys_user t2 on t1.technician_id = t2.user_id where t1.deleted = 0
+        and t2.del_flag = 0 and t1.process_inspection_id in
+        <foreach collection="inspectionIds" index="index" item="item" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </select>
     <delete id="physicalDelete">
         DELETE FROM biz_daywork_item_consult WHERE deleted = 0
         <if test="id != null">

+ 98 - 1
src/main/resources/mybatis/business/product/BizDayworkItemMapper.xml

@@ -55,7 +55,43 @@
                type="cn.ezhizao.project.business.technologicalProcessDetail.domain.BizTechnologicalProcessDetail">
         <id column="id" property="id"/>
     </resultMap>
+    <resultMap id="BizDayworkItemAndRejectList" type="cn.ezhizao.project.business.product.domain.BizDayworkItem">
+        <id column="id" property="id"/>
+        <collection property="rejectList" ofType="cn.ezhizao.project.business.product.domain.BizDayworkItemReject" column="id" select="getRejectList"/>
 
+    </resultMap>
+    <resultMap id="BizSortListResult" type="cn.ezhizao.project.business.product.domain.BizDayworkItem">
+        <id column="id" property="id"/>
+        <collection property="rejectList" ofType="cn.ezhizao.project.business.product.domain.BizDayworkItemReject" column="id" select="getSortRejectList"/>
+        <collection property="consults" ofType="cn.ezhizao.project.business.product.domain.BizDayworkItemConsult" column="id" select="getSortConsultList"/>
+    </resultMap>
+    <select id="getSortListByDayworkId" resultMap="BizSortListResult">
+        select t1.*,t2.process_alias from biz_daywork_item t1 left join biz_process t2 on t1.process_id = t2.id where t1.daywork_id = #{dayworkId}  and t1.dept_name = '分选' and t1.deleted = 0 and t2.deleted = 0  and t1.status &lt;4
+        order by t1.process_step_number,t1.create_time
+    </select>
+    <select id="getSortRejectList" resultType="cn.ezhizao.project.business.product.domain.BizDayworkItemReject">
+        select * from biz_daywork_item_reject where daywork_item_id = #{id} and deleted = 0 and process_inspection_id = 0
+    </select>
+    <select id="getSortConsultList" resultType="cn.ezhizao.project.business.product.domain.BizDayworkItemConsult">
+        select * from biz_daywork_item_consult where daywork_item_id = #{id} and deleted = 0
+    </select>
+    <select id="getListByDayworkId" resultMap="BizDayworkItemAndRejectList">
+      select t1.*,t2.process_alias from biz_daywork_item t1 left join biz_process t2 on t1.process_id  = t2.id where t1.daywork_id = #{dayworkId} and t1.deleted = 0 and t2.deleted = 0 and (t1.status =2 ||t1.status =3)
+        order by t1.process_step_number,t1.create_time
+    </select>
+    <select id="getRejectList" resultType="cn.ezhizao.project.business.product.domain.BizDayworkItemReject">
+        SELECT
+        t1.reject_num,
+        CASE
+        WHEN t1.type = 0 THEN
+        (SELECT dict_label FROM sys_dict_data WHERE dict_type = 'waste_causes' AND dict_value = t1.reason)
+        WHEN t1.type = 1 THEN
+        t1.reason
+        ELSE
+        t1.reason
+        END AS reason from biz_daywork_item_reject t1 where t1.daywork_item_id = #{id}
+        and t1.deleted = 0 and t1.process_inspection_id = 0
+    </select>
     <select id="getDeptProcess" resultType="cn.ezhizao.project.business.deptProcess.domain.BizDeptProcess">
         select *
         from biz_dept_process
@@ -268,7 +304,68 @@
         </trim>
         ORDER BY create_time DESC
     </select>
-
+    <select id="getOutListByDeptId" resultType="cn.ezhizao.project.business.product.domain.BizDaywork">
+        SELECT distinct
+        t1.id,t2.dept_name,t3.product_description,t4.lot_code,t1.is_amend,t1.is_waste_recycling,t1.technological_process_id ,(
+        SELECT
+        GROUP_CONCAT( carrier_code ORDER BY carrier_code SEPARATOR ',' )
+        FROM
+        biz_daywork_carrier
+        WHERE
+        biz_daywork_carrier.daywork_id = t1.id
+        AND biz_daywork_carrier.is_changed = 0
+        AND biz_daywork_carrier.deleted = 0
+        ) AS carrier_name
+        FROM
+        biz_daywork t1 left join sys_dept t2 on t1.dept_id = t2.dept_id
+        left join biz_production_plan_detail t3 on t1.production_plan_detail_id = t3.id
+        left join biz_lot t4 on t1.lot_id = t4.id
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            t1.deleted = 0 and t2.del_flag = 0 and t3.deleted = 0 and t4.deleted = 0
+            AND ( SELECT `status` FROM biz_daywork_item WHERE daywork_id = t1.id and (turnover_type = 2 or turnover_type = 3) and  deleted = 0 and is_inner_turnover = 0  ORDER BY create_time DESC LIMIT 1 ) IN (4)
+            AND ( SELECT dept_id FROM biz_daywork_item WHERE daywork_id = t1.id AND deleted = 0 AND STATUS = 3 ORDER BY process_step_number DESC LIMIT 1 ) = #{deptId}
+        <if test="keywords != null">AND ( t3.product_description like concat('%',#{keywords},'%') or t4.lot_code like concat('%',#{keywords},'%') or exists (select 1
+            FROM
+            biz_daywork_carrier
+            WHERE
+            biz_daywork_carrier.daywork_id = t1.id
+            AND biz_daywork_carrier.is_changed = 0
+            AND biz_daywork_carrier.deleted = 0
+            and biz_daywork_carrier.carrier_code like concat('%',#{keywords},'%')
+            ) )</if>
+        </trim>
+    </select>
+    <select id="getInnerListByDeptId" resultType="cn.ezhizao.project.business.product.domain.BizDaywork">
+        SELECT
+        t1.id,t2.dept_name,t3.product_description,t4.lot_code,t1.is_amend,t1.is_waste_recycling,t1.technological_process_id , (
+        SELECT
+        GROUP_CONCAT( carrier_code ORDER BY carrier_code SEPARATOR ',' )
+        FROM
+        biz_daywork_carrier
+        WHERE
+        biz_daywork_carrier.daywork_id = t1.id
+        AND biz_daywork_carrier.is_changed = 0
+        AND biz_daywork_carrier.deleted = 0
+        ) AS carrier_name
+        FROM
+        biz_daywork t1 left join sys_dept t2 on t1.dept_id = t2.dept_id
+        left join biz_production_plan_detail t3 on t1.production_plan_detail_id = t3.id
+        left join biz_lot t4 on t1.lot_id = t4.id
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            t1.deleted = 0 and t2.del_flag = 0 and t3.deleted = 0 and t4.deleted = 0
+            AND ( SELECT `status` FROM biz_daywork_item WHERE daywork_id = t1.id  and turnover_type = 1 and  deleted = 0 and is_inner_turnover = 0  ORDER BY create_time DESC LIMIT 1 ) IN (4)
+            AND ( SELECT dept_id FROM biz_daywork_item WHERE daywork_id = t1.id AND deleted = 0 AND STATUS = 3 ORDER BY process_step_number DESC LIMIT 1 ) = #{deptId}
+            <if test="keywords != null">AND ( t3.product_description like concat('%',#{keywords},'%') or t4.lot_code like concat('%',#{keywords},'%') or exists (select 1
+                FROM
+                biz_daywork_carrier
+                WHERE
+                biz_daywork_carrier.daywork_id = t1.id
+                AND biz_daywork_carrier.is_changed = 0
+                AND biz_daywork_carrier.deleted = 0
+                and biz_daywork_carrier.carrier_code like concat('%',#{keywords},'%')
+                ) )</if>
+        </trim>
+    </select>
     <select id="getItemScreen" parameterType="BizDayworkItem" resultMap="BizDayworkItemResult">
         SELECT bdi.*
         FROM biz_daywork_item bdi

+ 12 - 3
src/main/resources/mybatis/business/product/BizDayworkMapper.xml

@@ -29,7 +29,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <resultMap id="BizTechnologicalProcessDetailResult" type="cn.ezhizao.project.business.technologicalProcessDetail.domain.BizTechnologicalProcessDetail">
         <id column="id" property="id"/>
     </resultMap>
-
+    <resultMap id="BizLotInfo" type="cn.ezhizao.project.business.product.domain.BizDaywork">
+        <id column="id" property="id"/>
+        <association property="carrierName" javaType="java.lang.String" column="id" select="getCarrier"/>
+        <collection property="dayworkItemList" ofType="cn.ezhizao.project.business.product.domain.BizDayworkItem" column="id" select="getDayworkItemList"/>
+    </resultMap>
     <resultMap id="BizProcessResult" type="cn.ezhizao.project.business.process.domain.BizProcess">
         <id column="id" property="id"/>
         <collection property="deptProcess" ofType="cn.ezhizao.project.business.deptProcess.domain.BizDeptProcess" column="id" select="getDeptProcess"/>
@@ -53,7 +57,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="getItemList" resultMap="BizDayworkItemResult">
         select * from biz_daywork_item where deleted = 0 and daywork_id = #{id} ORDER BY create_time DESC
     </select>
-
+    <select id="getDayworkItemList" resultMap="BizDayworkItemResult">
+        select t1.*,t2.process_alias,t3.nick_name from biz_daywork_item t1 left join biz_process t2 on t1.process_id = t2.id left join sys_user t3 on t1.creator_id = t3.user_id where t1.deleted = 0 and t2.deleted = 0 and t1.daywork_id = #{id}
+    </select>
     <select id="getFurnaceNumber" resultType="java.lang.String" >
         select furnace_number from biz_production_plan_detail where deleted = 0 and id = #{productionPlanDetailId}
     </select>
@@ -111,7 +117,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
              WHERE  status = 3 AND daywork_id =  #{id}
 
     </delete>
-
+    <select id="getLotInfo" resultMap="BizLotInfo">
+        select t1.*,t2.product_description,t3.production_quantity from biz_daywork t1 left join biz_production_plan_detail t2 on t1.production_plan_detail_id = t2.id left join biz_lot t3 on t1.lot_id = t3.id
+        where t1.deleted = 0 and t2.deleted = 0 and t3.deleted = 0 and t1.id =#{id}
+    </select>
 <!--    周转区查看-->
     <select id="turnover">
         select t1.*,t2.* from biz_daywork_item t1 left join biz_daywork t2 on t1.daywork_id = t2.id

+ 0 - 1
src/main/resources/mybatis/business/product/BizFurnaceNoInfoMapper.xml

@@ -28,7 +28,6 @@
             <if test="dayworkId != null  and dayworkId != 0"> AND daywork_id = #{dayworkId}</if>
         </trim>
     </select>
-
     <delete id="physicalDelete">
         DELETE FROM biz_furnace_no_info
         <trim prefix=" WHERE" suffix="" suffixOverrides="AND">

+ 23 - 1
src/main/resources/mybatis/business/product/BizProcessInspecionMapper.xml

@@ -11,7 +11,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                      javaType="java.lang.String"
                      column="product_id" select="getProcessDescription"/>
     </resultMap>
-
+    <resultMap id="BizInspectionResult" type="cn.ezhizao.project.business.product.domain.BizProcessInspectionDetail">
+        <id column="id" property="id"/>
+    </resultMap>
+    <select id="getInspectionByDayworkId" resultMap="BizInspectionResult">
+        SELECT
+        t1.*,
+        t2.nick_name as inspectionName,
+        t2.status,
+        t2.remark,
+        t4.process_alias
+        FROM
+        biz_process_inspection_detail t1
+        LEFT JOIN biz_process_inspecion t2 ON t1.process_inspection_id = t2.id
+        LEFT JOIN biz_daywork_item t3 ON t1.daywork_item_id = t3.id
+        LEFT JOIN biz_process t4 ON t4.id = t3.process_id
+        WHERE
+        process_inspection_id IN ( SELECT id FROM biz_process_inspecion WHERE daywork_id =#{dayworkId} )
+        AND t1.deleted = 0
+        AND t2.deleted = 0
+        AND t3.deleted = 0
+        AND t4.deleted = 0
+        order by t2.create_time
+    </select>
 <!--    AND DATE_FORMAT( start_time, '%Y-%m-%d' ) =${timeString}-->
     <select id="getList" parameterType="BizProcessInspecion" resultMap="BizProcessInspecionResult">
         SELECT * FROM biz_process_inspecion