瀏覽代碼

外协检查-测试

wangxin 1 年之前
父節點
當前提交
7fa02dbabc
共有 18 個文件被更改,包括 696 次插入1 次删除
  1. 1 0
      src/main/java/cn/ezhizao/project/business/feign/controller/GetFurnaceNoInfoController.java
  2. 1 0
      src/main/java/cn/ezhizao/project/business/feign/service/GetFurnaceNoInfoService.java
  3. 82 1
      src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java
  4. 6 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizDayworkCarrier.java
  5. 64 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizReturnReceipt.java
  6. 144 0
      src/main/java/cn/ezhizao/project/business/product/domain/BizReturnReceiptDetail.java
  7. 3 0
      src/main/java/cn/ezhizao/project/business/product/mapper/BizDayworkItemMapper.java
  8. 36 0
      src/main/java/cn/ezhizao/project/business/product/mapper/BizReturnReceiptDetailMapper.java
  9. 34 0
      src/main/java/cn/ezhizao/project/business/product/mapper/BizReturnReceiptMapper.java
  10. 3 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizDayworkItemService.java
  11. 37 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizReturnReceiptDetailService.java
  12. 35 0
      src/main/java/cn/ezhizao/project/business/product/service/IBizReturnReceiptService.java
  13. 6 0
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizDayworkItemServiceImpl.java
  14. 60 0
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizReturnReceiptDetailServiceImpl.java
  15. 49 0
      src/main/java/cn/ezhizao/project/business/product/service/impl/BizReturnReceiptServiceImpl.java
  16. 11 0
      src/main/resources/mybatis/business/product/BizDayworkItemMapper.xml
  17. 91 0
      src/main/resources/mybatis/business/product/BizReturnReceiptDetailMapper.xml
  18. 33 0
      src/main/resources/mybatis/business/product/BizReturnReceiptMapper.xml

+ 1 - 0
src/main/java/cn/ezhizao/project/business/feign/controller/GetFurnaceNoInfoController.java

@@ -22,4 +22,5 @@ public class GetFurnaceNoInfoController {
     public AjaxResult getFurnaceNoInfo(FurnaceNoInfo request){
         return getFurnaceNoInfoService.getFurnaceNoInfo(request);
     }
+
 }

+ 1 - 0
src/main/java/cn/ezhizao/project/business/feign/service/GetFurnaceNoInfoService.java

@@ -10,5 +10,6 @@ public interface GetFurnaceNoInfoService {
 
     @GetMapping("/business/furnaceNoInfo/getFurnaceNoInfo")
      AjaxResult getFurnaceNoInfo(FurnaceNoInfo request);
+
 }
 

+ 82 - 1
src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java

@@ -1,8 +1,10 @@
 package cn.ezhizao.project.business.product.controller;
 
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
@@ -20,6 +22,7 @@ import cn.ezhizao.project.business.technologicalProcessDetail.service.IBizTechno
 import cn.ezhizao.project.system.domain.SysUser;
 import cn.ezhizao.project.system.service.ISysUserService;
 import com.baomidou.mybatisplus.annotation.TableField;
+import org.apache.xmlbeans.impl.soap.Detail;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
@@ -69,7 +72,8 @@ public class BizProcessInspecionController extends BaseController
 
     @Resource
     private IBizProductService productService;
-
+    @Resource
+    private IBizReturnReceiptDetailService bizReturnReceiptDetailService;
     @Resource
     private IBizProductionPlanDetailService productionPlanDetailService;
     /**
@@ -250,6 +254,83 @@ public class BizProcessInspecionController extends BaseController
         return success(list);
     }
 
+    /**
+     * 根据箱号查询批次信息
+     */
+//    @PreAuthorize("@ss.hasPermi('business:inspecion:list')")
+    @PostMapping("/getLotOutsourcedInfo")
+    public AjaxResult getLotOutsourcedInfo(@RequestBody BizDayworkCarrier dayworkCarrier) throws NoSuchFieldException, IllegalAccessException
+    {
+        //根据箱号查询当前绑定信息
+        dayworkCarrier=bizDayworkCarrierService.getByCarrierCode(dayworkCarrier);
+        if(dayworkCarrier==null){
+            throw new RuntimeException("该箱号未绑定任何批次");
+        }
+
+        //根据dayworkId查询外协回收信息是否有该批次
+        BizReturnReceiptDetail bizReturnReceiptDetail = new BizReturnReceiptDetail();
+        bizReturnReceiptDetail.setDayworkId(dayworkCarrier.getDayworkId());
+        List<BizReturnReceiptDetail> detailList  =bizReturnReceiptDetailService.getList(bizReturnReceiptDetail);
+        if(detailList.size()==0){
+            throw new RuntimeException("该批次不是外协回收批次");
+        }
+
+        //根据传过来的工序编码查询是否有该工序
+        List<String> processCodes =dayworkCarrier.getProcessCode();
+        detailList = detailList.stream()
+                .filter(detail -> processCodes.contains(detail.getProcessCode()))
+                .collect(Collectors.toList());
+        if(detailList.size()==0){
+            throw new RuntimeException("该批次不需要外协检查");
+        }
+        //如果有多道工序,则根据工序的排序找到最后一条
+        if(detailList.size()>1){
+            //按照工序排序
+            detailList.sort(Comparator.comparing(BizReturnReceiptDetail::getProcessStepNumber, Comparator.reverseOrder()));
+        }
+        //根据工序id查询报工信息
+        BizDaywork daywork =new BizDaywork();
+        daywork.setId(detailList.get(0).getDayworkId());
+        daywork.setTechnologicalProcessDetailId(detailList.get(0).getTechnologicalProcessDetailId());
+
+        List<BizDayworkItem> itemList = bizDayworkItemService.getByDaywork(daywork);
+        if(itemList.size()==0){
+            throw new RuntimeException("該批次未开始加工");
+        }
+        BizDayworkItem item = itemList.get(0);
+        BizProductionPlanDetail productionPlanDetail = productionPlanDetailService.getById(item.getProductionPlanDetailId());
+        BizProduct product = productService.getById(productionPlanDetail.getProductId());
+        SysUser user = sysUserService.selectUserById(product.getTechnicianId());
+        if(user!=null){
+            item.setTechnicianName(user.getNickName());
+            item.setTechnicianId(user.getUserId());
+        }else{
+            item.setTechnicianName("");
+            item.setTechnicianId(0L);
+        }
+
+        //查询是否为正常批次
+        BizLot lot=new BizLot();
+        lot.setId(item.getLotId());
+        lot = bizLotService.getAllList(lot).get(0);
+        if(lot.getIsWaste()==1){
+            throw new RuntimeException("改批次已批废");
+        }
+        if(lot.getIsAmend()==1 || lot.getIsWasteRecycling()==1){
+            BizLotTechnologicalProcessDetail process = bizLotTechnologicalProcessDetailService.getById(item.getTechnologicalProcessDetailId());
+            lot.setProcessAlias(process.getProcessAlias());
+        }else{
+            BizTechnologicalProcessDetail process = bizTechnologicalProcessDetailService.getById(item.getTechnologicalProcessDetailId());
+            lot.setProcessAlias(process.getProcessAlias());
+        }
+        lot.setAllCarrierName(item.getCarrierName());
+        lot.setDayworkItemId(item.getId());
+        lot.setCarrierCode(dayworkCarrier.getCarrierCode());
+        lot.setCarrierId(dayworkCarrier.getCarrierId());
+        lot.setPudName(item.getProdNum()==0?lot.getProductionQuantity():item.getProdNum());
+        return success(lot);
+    }
+
 
     /**
      * 根据箱号查询批次信息

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

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.List;
+
 
 /**
  * 报工载具中间表对象 biz_daywork_carrier
@@ -78,4 +80,8 @@ public class BizDayworkCarrier extends BaseEntity
     @ApiModelProperty(value = "是否被更换")
     private Integer isChanged;
 
+    //工序编码
+    @TableField(exist = false)
+    private List<String> processCode;
+
 }

+ 64 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizReturnReceipt.java

@@ -0,0 +1,64 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子对象 biz_return_receipt
+ *
+ * @author ezhizao
+ * @date 2024-05-08
+ */
+@Data
+@TableName(value = "biz_return_receipt")
+public class BizReturnReceipt extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 租户(厂别)id */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+
+    /** 单据号 */
+    @Excel(name = "单据号")
+    @ApiModelProperty(value = "单据号")
+    private String formCode;
+
+    /** 表单日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "表单日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "表单日期")
+    private Date formDate;
+
+    /** 外协商id */
+    @ApiModelProperty(value = "表单日期")
+    private Long supplierId;
+
+    /** 外协商名称 */
+    @Excel(name = "外协商名称")
+    @ApiModelProperty(value = "外协商名称")
+    private String supplierName;
+
+    /** 状态(0:未审核,1:已审核)审核由德迈仕进行操作,审核后,外协商不能修改外协单 */
+    @Excel(name = "状态", readConverterExp = "0=:未审核,1:已审核")
+    @ApiModelProperty(value = "状态")
+    private Integer status;
+    /** 对应的收回明细 **/
+    @TableField(exist = false)
+    private List<BizReturnReceiptDetail> details;
+    @TableField(exist = false)
+    private String startTime;
+    @TableField(exist = false)
+    private String endTime;
+
+}

+ 144 - 0
src/main/java/cn/ezhizao/project/business/product/domain/BizReturnReceiptDetail.java

@@ -0,0 +1,144 @@
+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 com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 外协单从对象 biz_return_receipt_detail
+ *
+ * @author ezhizao
+ * @date 2024-05-08
+ */
+@Data
+@TableName(value = "biz_return_receipt_detail")
+public class BizReturnReceiptDetail extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 租户(厂别)id */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+
+    /** 主表id */
+    @ApiModelProperty(value = "${comment}")
+    private Long masterId;
+
+    /** 单据号 */
+    @Excel(name = "单据号")
+    @ApiModelProperty(value = "单据号")
+    private String formCode;
+
+    /** 表单日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "表单日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "表单日期")
+    private Date formDate;
+
+    /** 外协明细id */
+    @ApiModelProperty(value = "表单日期")
+    private Long outsourceDetailId;
+
+    /** 外协商id */
+    @ApiModelProperty(value = "表单日期")
+    private Long supplierId;
+
+    /** 外协商名称 */
+    @Excel(name = "外协商名称")
+    @ApiModelProperty(value = "外协商名称")
+    private String supplierName;
+
+    /** 批次id */
+    @ApiModelProperty(value = "外协商名称")
+    private Long lotId;
+
+    /** 批次号 */
+    @Excel(name = "批次号")
+    @ApiModelProperty(value = "批次号")
+    private String lotCode;
+
+    /** 对应的daywork表的id,是添加外协工序的时候,带过来的 */
+    @ApiModelProperty(value = "批次号")
+    private Long dayworkId;
+
+    /** 产品id */
+    @ApiModelProperty(value = "批次号")
+    private Long productId;
+
+    /** 产品描述 */
+    @Excel(name = "产品描述")
+    @ApiModelProperty(value = "产品描述")
+    private String productDescription;
+
+    /** 产品数 */
+    @Excel(name = "产品数")
+    @ApiModelProperty(value = "产品数")
+    private Long productNum;
+
+    /** 收回数量(外协商填写,如果未填写,则为0) */
+    @Excel(name = "收回数量", readConverterExp = "外=协商填写,如果未填写,则为0")
+    @ApiModelProperty(value = "收回数量")
+    private Integer receiptNum;
+
+    /** 收回的审核数量(由德迈仕填写,不允许0) */
+    @Excel(name = "收回的审核数量", readConverterExp = "由=德迈仕填写,不允许0")
+    @ApiModelProperty(value = "收回的审核数量")
+    private Integer auditNum;
+
+    /** 原箱号,以英文“,”分割 */
+    @Excel(name = "原箱号,以英文“,”分割")
+    @ApiModelProperty(value = "原箱号,以英文“,”分割")
+    private String originalCarrier;
+
+    /** 原箱数 */
+    @Excel(name = "原箱数")
+    @ApiModelProperty(value = "原箱数")
+    private Integer originalCarrierCount;
+
+    /** 新箱号,以英文“,”分割 */
+    @Excel(name = "新箱号,以英文“,”分割")
+    @ApiModelProperty(value = "新箱号,以英文“,”分割")
+    private String newCarrier;
+
+    /** 新箱数 */
+    @Excel(name = "新箱数")
+    @ApiModelProperty(value = "新箱数")
+    private Integer newCarrierCount;
+
+    @TableField(exist = false)
+    private String processNames;
+    @TableField(exist = false)
+    private String startTime;
+    @TableField(exist = false)
+    private String endTime;
+    @TableField(exist = false)
+    private String productionDeptName;
+    private String productionCarrier;
+    private Long productionDeptId;
+    @TableField(exist = false)
+    private List<BizCarrier> carriers;
+    @TableField(exist = false)
+    private Integer packagingMethod;
+    @TableField(exist = false)
+    private List<Long> carrierIds;
+    @TableField(exist = false)
+    private List<BizDayworkCarrier> dayworkCarrierList;
+    @TableField(exist = false)
+    private Boolean flag;
+    private Long technologicalProcessId;
+    private String technologyVersion;
+    private Long technologicalProcessDetailId;
+    private Long processId;
+    private String processAlias;
+    private String processStepNumber;
+    private String processCode;
+
+}

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

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.product.mapper;
 
+import cn.ezhizao.project.business.product.domain.BizDaywork;
 import cn.ezhizao.project.business.product.domain.BizDayworkItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
@@ -61,4 +62,6 @@ public interface BizDayworkItemMapper extends BaseMapper<BizDayworkItem>
     List<BizDayworkItem> getByDayworkId(Long dayworkId);
 
     BizDayworkItem selById(Long dayworkItemId);
+
+    List<BizDayworkItem> getByDaywork(BizDaywork daywork);
 }

+ 36 - 0
src/main/java/cn/ezhizao/project/business/product/mapper/BizReturnReceiptDetailMapper.java

@@ -0,0 +1,36 @@
+package cn.ezhizao.project.business.product.mapper;
+
+import cn.ezhizao.project.business.product.domain.BizDaywork;
+import cn.ezhizao.project.business.product.domain.BizReturnReceiptDetail;
+import cn.ezhizao.project.system.domain.SysDept;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+
+/**
+ * 外协单从Mapper接口
+ *
+ * @author ezhizao
+ * @date 2024-05-08
+ */
+public interface BizReturnReceiptDetailMapper extends BaseMapper<BizReturnReceiptDetail>
+{
+    /**
+     * 查询外协单从列表
+     *
+     * @param bizReturnReceiptDetail 外协单从
+     * @return 外协单从集合
+     */
+    public List<BizReturnReceiptDetail> getList(BizReturnReceiptDetail bizReturnReceiptDetail);
+    public List<BizReturnReceiptDetail> getFinishedReturnList(BizReturnReceiptDetail bizReturnReceiptDetail);
+
+    /**
+     * 物理删除
+     * @param bizReturnReceiptDetail
+     * @return 删除结果
+    */
+    public int physicalDelete(BizReturnReceiptDetail bizReturnReceiptDetail);
+    public List<SysDept> getTurnoverAbDeptList(BizDaywork bizDaywork);
+    public List<SysDept> getTurnoverDeptList(BizDaywork bizDaywork);
+}

+ 34 - 0
src/main/java/cn/ezhizao/project/business/product/mapper/BizReturnReceiptMapper.java

@@ -0,0 +1,34 @@
+package cn.ezhizao.project.business.product.mapper;
+
+import cn.ezhizao.project.business.product.domain.BizReturnReceipt;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子Mapper接口
+ *
+ * @author ezhizao
+ * @date 2024-05-08
+ */
+public interface BizReturnReceiptMapper extends BaseMapper<BizReturnReceipt>
+{
+    /**
+     * 查询外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子列表
+     *
+     * @param bizReturnReceipt 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
+     * @return 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子集合
+     */
+    public List<BizReturnReceipt> getList(BizReturnReceipt bizReturnReceipt);
+
+    /**
+     * 物理删除
+     * @param bizReturnReceipt
+     * @return 删除结果
+    */
+    public int physicalDelete(BizReturnReceipt bizReturnReceipt);
+}

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

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.product.service;
 
+import cn.ezhizao.project.business.product.domain.BizDaywork;
 import cn.ezhizao.project.business.product.domain.BizDayworkItem;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -49,4 +50,6 @@ public interface IBizDayworkItemService extends IService<BizDayworkItem>
     List<BizDayworkItem> getByDayworkId(Long dayworkId);
 
     BizDayworkItem selById(Long dayworkItemId);
+
+    List<BizDayworkItem> getByDaywork(BizDaywork daywork);
 }

+ 37 - 0
src/main/java/cn/ezhizao/project/business/product/service/IBizReturnReceiptDetailService.java

@@ -0,0 +1,37 @@
+package cn.ezhizao.project.business.product.service;
+
+import cn.ezhizao.project.business.product.domain.BizDaywork;
+import cn.ezhizao.project.business.product.domain.BizReturnReceiptDetail;
+import cn.ezhizao.project.system.domain.SysDept;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * 外协单从Service接口
+ *
+ * @author ezhizao
+ * @date 2024-05-08
+ */
+public interface IBizReturnReceiptDetailService extends IService<BizReturnReceiptDetail>
+{
+    /**
+     * 查询外协单从列表
+     *
+     * @param bizReturnReceiptDetail 外协单从
+     * @return 外协单从集合
+     */
+    public List<BizReturnReceiptDetail> getList(BizReturnReceiptDetail bizReturnReceiptDetail);
+
+    /**
+     * 物理删除
+     * @param bizReturnReceiptDetail
+     * @return 删除结果
+     */
+    public int physicalDelete(BizReturnReceiptDetail bizReturnReceiptDetail);
+    public List<BizReturnReceiptDetail> getFinishedReturnList(BizReturnReceiptDetail bizReturnReceiptDetail);
+    public List<SysDept> getTurnoverAbDeptList(BizDaywork bizDaywork);
+    public List<SysDept> getTurnoverDeptList(BizDaywork bizDaywork);
+
+
+}

+ 35 - 0
src/main/java/cn/ezhizao/project/business/product/service/IBizReturnReceiptService.java

@@ -0,0 +1,35 @@
+package cn.ezhizao.project.business.product.service;
+
+import cn.ezhizao.project.business.product.domain.BizReturnReceipt;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子Service接口
+ *
+ * @author ezhizao
+ * @date 2024-05-08
+ */
+public interface IBizReturnReceiptService extends IService<BizReturnReceipt>
+{
+    /**
+     * 查询外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子列表
+     *
+     * @param bizReturnReceipt 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
+     * @return 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子集合
+     */
+    public List<BizReturnReceipt> getList(BizReturnReceipt bizReturnReceipt);
+
+    /**
+     * 物理删除
+     * @param bizReturnReceipt
+     * @return 删除结果
+     */
+    public int physicalDelete(BizReturnReceipt bizReturnReceipt);
+
+}

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

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.product.service.impl;
 
+import cn.ezhizao.project.business.product.domain.BizDaywork;
 import cn.ezhizao.project.business.product.domain.BizDayworkItem;
 import cn.ezhizao.project.business.product.mapper.BizDayworkItemMapper;
 import cn.ezhizao.project.business.product.service.IBizDayworkItemService;
@@ -81,6 +82,11 @@ public class BizDayworkItemServiceImpl  extends ServiceImpl<BizDayworkItemMapper
         return bizDayworkItemMapper.selById(dayworkItemId);
     }
 
+    @Override
+    public List<BizDayworkItem> getByDaywork(BizDaywork daywork) {
+        return bizDayworkItemMapper.getByDaywork(daywork);
+    }
+
 
 }
 

+ 60 - 0
src/main/java/cn/ezhizao/project/business/product/service/impl/BizReturnReceiptDetailServiceImpl.java

@@ -0,0 +1,60 @@
+package cn.ezhizao.project.business.product.service.impl;
+
+import cn.ezhizao.project.business.product.domain.BizDaywork;
+import cn.ezhizao.project.business.product.domain.BizReturnReceiptDetail;
+import cn.ezhizao.project.business.product.mapper.BizReturnReceiptDetailMapper;
+import cn.ezhizao.project.business.product.service.IBizReturnReceiptDetailService;
+import cn.ezhizao.project.system.domain.SysDept;
+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 2024-05-08
+ */
+@Service
+public class BizReturnReceiptDetailServiceImpl  extends ServiceImpl<BizReturnReceiptDetailMapper, BizReturnReceiptDetail> implements IBizReturnReceiptDetailService
+{
+    @Resource
+    private BizReturnReceiptDetailMapper bizReturnReceiptDetailMapper;
+
+    /**
+     * 查询外协单从列表
+     *
+     * @param bizReturnReceiptDetail 外协单从
+     * @return 外协单从
+     */
+    @Override
+    public List<BizReturnReceiptDetail> getList(BizReturnReceiptDetail bizReturnReceiptDetail)
+    {
+        return bizReturnReceiptDetailMapper.getList(bizReturnReceiptDetail);
+    }
+    @Override
+    public List<BizReturnReceiptDetail> getFinishedReturnList(BizReturnReceiptDetail bizReturnReceiptDetail) {
+        return bizReturnReceiptDetailMapper.getFinishedReturnList(bizReturnReceiptDetail);
+    }
+
+    @Override
+    public List<SysDept> getTurnoverAbDeptList(BizDaywork bizDaywork) {
+        return bizReturnReceiptDetailMapper.getTurnoverAbDeptList(bizDaywork);
+    }
+
+    @Override
+    public List<SysDept> getTurnoverDeptList(BizDaywork bizDaywork) {
+        return bizReturnReceiptDetailMapper.getTurnoverDeptList(bizDaywork);
+    }
+
+    /**
+     * 物理删除
+     * @param bizReturnReceiptDetail
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizReturnReceiptDetail bizReturnReceiptDetail){ return bizReturnReceiptDetailMapper.physicalDelete(bizReturnReceiptDetail); };
+
+}

+ 49 - 0
src/main/java/cn/ezhizao/project/business/product/service/impl/BizReturnReceiptServiceImpl.java

@@ -0,0 +1,49 @@
+package cn.ezhizao.project.business.product.service.impl;
+
+
+import cn.ezhizao.project.business.product.domain.BizReturnReceipt;
+import cn.ezhizao.project.business.product.mapper.BizReturnReceiptMapper;
+import cn.ezhizao.project.business.product.service.IBizReturnReceiptService;
+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 2024-05-08
+ */
+@Service
+public class BizReturnReceiptServiceImpl  extends ServiceImpl<BizReturnReceiptMapper, BizReturnReceipt> implements IBizReturnReceiptService
+{
+    @Resource
+    private BizReturnReceiptMapper bizReturnReceiptMapper;
+
+    /**
+     * 查询外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子列表
+     *
+     * @param bizReturnReceipt 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
+     * @return 外协单主
+带箱方式,是整单的。如果换新箱子,明细中,都需要更换箱子
+     */
+    @Override
+    public List<BizReturnReceipt> getList(BizReturnReceipt bizReturnReceipt)
+    {
+        return bizReturnReceiptMapper.getList(bizReturnReceipt);
+    }
+
+    /**
+     * 物理删除
+     * @param bizReturnReceipt
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizReturnReceipt bizReturnReceipt){ return bizReturnReceiptMapper.physicalDelete(bizReturnReceipt); };
+
+}

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

@@ -170,6 +170,17 @@
         order by create_time desc
     </select>
 
+    <select id="getByDaywork" resultMap="BizDayworkItemResult">
+        select *
+        from biz_daywork_item
+        where deleted = 0
+          and daywork_id = #{dayworkId}
+          and technological_process_detail_id={technologicalProcessDetailId}
+          and is_wx = 1
+        order by create_time desc
+    </select>
+
+
     <select id="selById" resultMap="BizDayworkItemResult">
         select *
         from biz_daywork_item

+ 91 - 0
src/main/resources/mybatis/business/product/BizReturnReceiptDetailMapper.xml

@@ -0,0 +1,91 @@
+<?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.product.mapper.BizReturnReceiptDetailMapper">
+
+    <resultMap type="cn.ezhizao.project.business.product.domain.BizReturnReceiptDetail" id="BizReturnReceiptDetailResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizReturnReceiptDetail" resultMap="BizReturnReceiptDetailResult">
+        SELECT * FROM biz_return_receipt_detail
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="formCode != null  and formCode != ''"> AND form_code = #{formCode}</if>
+            <if test="formDate != null "> AND form_date = #{formDate}</if>
+            <if test="supplierName != null  and supplierName != ''"> AND supplier_name like concat('%', #{supplierName}, '%')</if>
+            <if test="lotCode != null  and lotCode != ''"> AND lot_code = #{lotCode}</if>
+            <if test="productDescription != null  and productDescription != ''"> AND product_description = #{productDescription}</if>
+            <if test="productNum != null "> AND product_num = #{productNum}</if>
+            <if test="receiptNum != null "> AND receipt_num = #{receiptNum}</if>
+            <if test="auditNum != null "> AND audit_num = #{auditNum}</if>
+            <if test="originalCarrier != null  and originalCarrier != ''"> AND original_carrier = #{originalCarrier}</if>
+            <if test="originalCarrierCount != null "> AND original_carrier_count = #{originalCarrierCount}</if>
+            <if test="newCarrier != null  and newCarrier != ''"> AND new_carrier = #{newCarrier}</if>
+            <if test="newCarrierCount != null "> AND new_carrier_count = #{newCarrierCount}</if>
+            <if test="dayworkId != null "> AND daywork_id = #{dayworkId}</if>
+        </trim>
+    </select>
+    <select id="getFinishedReturnList" parameterType="BizReturnReceiptDetail" resultMap="BizReturnReceiptDetailResult">
+        SELECT
+        t1.*,
+        t3.dept_name AS productionDeptName,
+        t4.packaging_method as packagingMethod
+        FROM
+        biz_return_receipt_detail t1
+        RIGHT JOIN biz_return_receipt t2 ON t2.id = t1.master_id
+        LEFT JOIN sys_dept t3 ON t3.dept_id = t1.production_dept_id
+        LEFT JOIN biz_outsourced_order_detail t4 on t4.id = t1.outsource_detail_id
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            t1.deleted = 0 and t2.deleted = 0 and t2.status = 1
+            <if test="formCode != null  and formCode != ''"> AND t1.form_code like concat('%', #{formCode}, '%')</if>
+            <if test="productDescription != null "> AND t1.product_description like concat('%', #{productDescription}, '%')</if>
+            <if test="supplierName != null  and supplierName != ''"> AND t1.supplier_name like concat('%', #{supplierName}, '%')</if>
+            <if test="lotCode != null  and lotCode != ''"> AND t1.lot_code like concat('%', #{lotCode}, '%')</if>
+            <if test="startTime != null ">AND t1.form_date &gt; #{startTime}</if>
+            <if test="endTime != null ">AND t1.form_date &lt; #{endTime}</if>
+        </trim>
+    </select>
+    <select id="getTurnoverDeptList" resultType="cn.ezhizao.project.system.domain.SysDept">
+        SELECT DISTINCT dp.dept_id as value, d.dept_name as label
+        FROM sys_dept d
+        INNER JOIN biz_dept_process dp ON d.dept_id = dp.dept_id
+        INNER JOIN
+        (SELECT DISTINCT btpd.process_id
+        FROM biz_technological_process_detail btpd
+        INNER JOIN biz_production_plan_detail bppd
+        ON bppd.technological_process_id = btpd.technological_process_id
+        WHERE bppd.id = #{productionPlanDetailId} and btpd.tenant_id !=9) AS m ON m.process_id = dp.process_id AND d.is_work_section = 1 or d.dept_code = '170000'
+        UNION
+        SELECT dept_id as value, dept_name as label
+        FROM sys_dept
+        WHERE dept_code = '170000';
+<!--        AND d.tenant_id = #{tenantId}-->
+    </select>
+    <select id="getTurnoverAbDeptList" resultType="cn.ezhizao.project.system.domain.SysDept">
+        SELECT DISTINCT dp.dept_id as value, d.dept_name as label
+        FROM sys_dept d
+        INNER JOIN biz_dept_process dp ON d.dept_id = dp.dept_id
+        INNER JOIN
+        (SELECT DISTINCT btwrd.process_id
+        FROM biz_lot_technological_process_detail btwrd
+        WHERE btwrd.lot_technological_process_id = #{technologicalProcessId}) AS m ON m.process_id = dp.process_id AND d.is_work_section = 1
+        UNION
+        SELECT dept_id as value, dept_name as label
+        FROM sys_dept
+        WHERE dept_code = '170000';
+<!--        AND d.tenant_id = #{tenantId}-->
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_return_receipt_detail
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>

+ 33 - 0
src/main/resources/mybatis/business/product/BizReturnReceiptMapper.xml

@@ -0,0 +1,33 @@
+<?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.product.mapper.BizReturnReceiptMapper">
+
+    <resultMap type="cn.ezhizao.project.business.product.domain.BizReturnReceipt" id="BizReturnReceiptResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizReturnReceipt" resultMap="BizReturnReceiptResult">
+        SELECT * FROM biz_return_receipt
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="formCode != null  and formCode != ''"> AND form_code like concat('%', #{formCode}, '%')</if>
+            <if test="startTime != null ">AND form_date &gt; #{startTime}</if>
+            <if test="endTime != null ">AND form_date &lt; #{endTime}</if>
+            <if test="supplierName != null  and supplierName != ''"> AND supplier_name like concat('%', #{supplierName}, '%')</if>
+            <if test="status != null "> AND status = #{status}</if>
+        </trim>
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_return_receipt
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>