Browse Source

Merge remote-tracking branch 'origin/master'

wangxin 1 year ago
parent
commit
f8d7ee1d73

+ 37 - 0
src/main/java/cn/ezhizao/project/business/controller/BizCarrierController.java

@@ -0,0 +1,37 @@
+package cn.ezhizao.project.business.controller;
+
+import cn.ezhizao.framework.task.RyTask;
+import cn.ezhizao.framework.web.controller.BaseController;
+import cn.ezhizao.framework.web.page.TableDataInfo;
+import cn.ezhizao.project.business.domain.BizCarrier;
+import cn.ezhizao.project.business.service.IBizCarrierService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+
+/**
+ * 载具Controller
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+@RestController
+@RequestMapping("/business/carrier")
+public class BizCarrierController extends BaseController {
+    @Resource
+    private IBizCarrierService iBizCarrierService;
+    @Resource
+    private HttpServletRequest request;
+
+    @GetMapping("/list")
+    public TableDataInfo list(BizCarrier data) throws NoSuchFieldException, IllegalAccessException, JsonProcessingException {
+//        startPage();
+        List<BizCarrier> list = iBizCarrierService.getList(data);
+        return getDataTable(list);
+    }
+}

+ 85 - 9
src/main/java/cn/ezhizao/project/business/controller/BizLotController.java

@@ -1,9 +1,6 @@
 package cn.ezhizao.project.business.controller;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -69,6 +66,13 @@ public class BizLotController extends BaseController
     @Resource
     private SnowflakeIdWorker snowflakeIdWorker;
     @Resource
+    IBizDayworkCarrierService dayworkCarrierService;
+    @Resource
+    IBizCarrierService carrierService;
+
+    @Resource
+    private IBizCarrierCategoryService bizCarrierCategoryService;
+    @Resource
     HttpServletRequest request;
 
     /**
@@ -293,12 +297,13 @@ public class BizLotController extends BaseController
     @PostMapping("/getLotInfoForInBatches")
     public AjaxResult getLotInfoForInBatches(@RequestBody BizLot bizLot) {
         // 分批信息需要批次信息
-
         List<BizLot> lots = bizLotService.getList(bizLot);
         if (lots.size() == 0) {
             return error("没有找到批次信息");
         }
         BizLot lot = lots.get(0);
+        List<BizLot> existsLots = bizLotService.query().likeRight("lot_code", lot.getLotCode().substring(0, lot.getLotCode().length() - 1)).list();
+        lot.setLatestLotCode(existsLots.stream().sorted(Comparator.comparing(BizLot::getLotCode).reversed()).findFirst().orElse(new BizLot()).getLotCode());
         // 产品描述
         BizProduct product = bizProductService.getById(lot.getProductId());
         lot.setProductCode(product.getProductCode());
@@ -309,14 +314,37 @@ public class BizLotController extends BaseController
         // 下达日期
         lot.setIssueDate(productionPlanDetail.getIssueDate());
         // 当前工段
-//        BizDaywork bizDaywork = bizDayworkService.query().eq("lot_id", bizLot.getId()).one();
+        BizDaywork bizDaywork = bizDayworkService.query().eq("lot_id", bizLot.getId()).one();
         BizDayworkItem conditions = new BizDayworkItem();
         conditions.setLotId(lot.getId());
         List<BizDayworkItem> dayworkItemList = bizDayworkItemService.getList(conditions);
-        BizDayworkItem dayworkItem = dayworkItemList.stream().filter(v -> !Arrays.asList("4", "5", "7").contains(v.getStatus())).collect(Collectors.toList()).stream().findFirst().orElse(new BizDayworkItem());
+        BizDayworkItem dayworkItem = dayworkItemList.stream().sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList()).stream().findFirst().orElse(new BizDayworkItem());
         lot.setCurrentDept(dayworkItem.getDeptName());
+        // 当前批次对应箱号
+        List<BizDayworkCarrier> dayworkCarriers = dayworkCarrierService.query().in("daywork_id", dayworkItemList.isEmpty() ? Collections.singletonList("0") : dayworkItemList.stream().map(v -> v.getDayworkId()).collect(Collectors.toList())).eq("is_changed", 0).list();
+        List<BizCarrier> carriers = new ArrayList<>();
+        dayworkCarriers.forEach(l -> {
+            BizCarrier carrier = new BizCarrier();
+            carrier.setCode(l.getCarrierCode());
+            carrier.setId(l.getCarrierId());
+            carriers.add(carrier);
+        });
+        // 判断当前工序是在周转状态还是进行中状态
+        Integer qualified = 0;
+        if (Arrays.asList("4", "5", "7").contains(dayworkItem.getStatus())) {
+            // 假设是周转状态合格数量为prodNum
+            qualified = dayworkItem.getProdNum();
+        } else {
+            // 假设进行中,合格数为已完成的生产的合格数总和
+            qualified = dayworkItemList.stream().filter(v -> v.getTechnologicalProcessDetailId().equals(dayworkItem.getTechnologicalProcessDetailId())).mapToInt(BizDayworkItem::getQualifiedNum).sum();
+        }
+        // 假设是进行中 合格数量是所有正在生产的中已完成的总和
+        lot.setQualifiedNum(qualified);
         // 当前工序投产量
         lot.setProdNum(dayworkItem.getProdNum());
+        // 当前工段合格数量
+        lot.setCarriers(carriers);
+        lot.setDaywork(bizDaywork);
         return success(lot);
     }
 
@@ -328,8 +356,24 @@ public class BizLotController extends BaseController
         List<BizLot> sparateList = bizLot.getSparateList();
         List<BizDaywork> bizDayworks = new ArrayList<>();
         List<BizDayworkItem> bizDayworkItems = new ArrayList<>();
+        List<BizDayworkCarrier> newDayworkCarriers = new ArrayList<>();
+        // 判断绑定箱是否重复
+        List<Long> carrierIds = new ArrayList<>();
+        sparateList.stream().filter(v -> !v.getId().equals(bizLot.getId())).forEach(x -> carrierIds.addAll(x.getCarriers().stream().map(BizCarrier::getId).collect(Collectors.toList())));
+        List<BizCarrier> carriers = carrierService.query().in("id", carrierIds.isEmpty() ? Collections.singletonList("0"): carrierIds).list();
+        List<BizDayworkCarrier> dayworkCarriers = dayworkCarrierService.query().in("carrier_id", carrierIds.isEmpty() ? Collections.singletonList("0"): carrierIds).eq("is_changed", 0).list();
+
+        // 箱类型 先不管
+        List<BizCarrierCategory> bizCarrierCategories = bizCarrierCategoryService.query().in( "id", carriers.isEmpty() ? Collections.singletonList(0L): carriers.stream().map(BizCarrier::getCategoryId).collect(Collectors.toList())).list();
+        // 判断是否有已经被使用的
+        List<BizDaywork> dayworks = bizDayworkService.query().in("id", dayworkCarriers.isEmpty() ? Collections.singletonList("0") : dayworkCarriers.stream().map(BizDayworkCarrier::getDayworkId).collect(Collectors.toList())).list();
+
         // 判断是否已报工
         List<BizDaywork> baseDayworks = bizDayworkService.getList(new BizDaywork().setLotId(bizLot.getId()));
+
+        if (dayworks.stream().anyMatch(e -> !baseDayworks.stream().allMatch(v -> v.getProductionPlanDetailId().equals(e.getProductionPlanDetailId())))) {
+            return error("载具已绑定其他计划单");
+        }
         List<BizDayworkItem> baseDayworkItems = bizDayworkItemService.getList(new BizDayworkItem().setLotId(bizLot.getId()));
         if (baseDayworks.size() > 0) {
             sparateList.forEach(l -> {
@@ -340,14 +384,41 @@ public class BizLotController extends BaseController
                         BizDaywork newDaywork = new BizDaywork(v);
                         v.setId(snowflakeIdWorker.nextId());
                         v.setProcessQualifiedNum(l.getProdNum());
+                        newDaywork.setProcessQualifiedNum(l.getProdNum());
                         List<BizDayworkItem> items = baseDayworkItems.stream().filter(e -> e.getDayworkId().equals(v.getId())).sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList());
-                        items.forEach(e -> {
+                        // 最后一个报工是周转 修改周转数量为分批数
+                        if(items.size() > 0 && Arrays.asList("4", "7", "5").contains( items.get(0).getStatus())) {
+                            BizDayworkItem item = new BizDayworkItem(items.get(0));
+                            item.setProdNum(l.getProdNum());
+                            item.setQualifiedNum(l.getProdNum());
+                            item.setDayworkId(newDaywork.getId());
+                            item.setId(null);
+                            bizDayworkItems.add(item);
+                        }
+                        // 最后一个报工不是周转
+                        items.subList(1, items.size()).forEach(e -> {
                             BizDayworkItem item = new BizDayworkItem(e);
                             item.setDayworkId(newDaywork.getId());
                             item.setId(null);
                             bizDayworkItems.add(item);
                         });
+                        // 判断最后一个报工是那种情况
                         newDayworks.add(newDaywork);
+                        // 关联载具
+                        l.getCarriers().forEach(e -> {
+                            BizDayworkCarrier carrier = new BizDayworkCarrier();
+                            BizCarrier item = carriers.stream().filter(x -> x.getId().equals(v.getId())).findFirst().orElse(new BizCarrier());
+                            carrier.setCarrierCode(item.getCode());
+                            carrier.setLotId(l.getId());
+                            carrier.setCarrierId(item.getId());
+                            carrier.setProductId(newDaywork.getProductId());
+                            carrier.setDayworkId(newDaywork.getId());
+                            carrier.setProductionPlanDetailId(newDaywork.getProductionPlanDetailId());
+                            carrier.setProductionPlanId(newDaywork.getProductionPlanId());
+                            carrier.setProductionPlanDetailSubDetailId(newDaywork.getProductionPlanDetailSubDetailId());
+                            carrier.setTechnologicalProcessId(newDaywork.getTechnologicalProcessId());
+                            newDayworkCarriers.add(carrier);
+                        });
                     });
                     bizDayworks.addAll(newDayworks);
                 } else {
@@ -365,6 +436,11 @@ public class BizLotController extends BaseController
             });
         }
         // 将报工信息复制一份
-        return toAjax(bizLotService.saveOrUpdateBatch(sparateList) && (bizDayworks.isEmpty() || bizDayworkService.saveOrUpdateBatch(bizDayworks)) && (bizDayworkItems.isEmpty() || bizDayworkItemService.saveOrUpdateBatch(bizDayworkItems)));
+        return toAjax(
+                bizLotService.saveOrUpdateBatch(sparateList) &&
+                        (bizDayworks.isEmpty() || bizDayworkService.saveOrUpdateBatch(bizDayworks)) &&
+                        (bizDayworkItems.isEmpty() || bizDayworkItemService.saveOrUpdateBatch(bizDayworkItems)) &&
+                        (newDayworkCarriers.isEmpty() || dayworkCarrierService.saveBatch(newDayworkCarriers))
+        );
     }
 }

+ 82 - 0
src/main/java/cn/ezhizao/project/business/domain/BizCarrier.java

@@ -0,0 +1,82 @@
+package cn.ezhizao.project.business.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+
+/**
+ * 载具青岛那对象 biz_equipment_detail
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName(value = "biz_carrier")
+public class BizCarrier extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 载具类别id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long categoryId;
+
+    /**
+     * 租户(厂别)id
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+    /**
+     * 载具编码
+     */
+    @Excel(name = "载具编码")
+    @ApiModelProperty(value = "载具编码")
+    private String code;
+
+    /**
+     * 载具状态(0:正常,1:废弃)
+     */
+    @ApiModelProperty(value = "载具状态(0:正常,1:废弃)")
+    private Integer isAbandoned;
+
+    /**
+     * 报废日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "报废日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "报废日期")
+    // mybitis-plus 会忽略将 null 值写入数据库,所以这里需要设置忽略策略
+    // @TableField(updateStrategy = FieldStrategy.IGNORED)
+    private Date abandonmentDate;
+
+    /**
+     * 废弃原因
+     */
+    @Excel(name = "废弃原因")
+    @ApiModelProperty(value = "废弃原因")
+    private String abandonmentReason;
+
+    /**
+     * 备注
+     */
+    @Excel(name = "备注", readConverterExp = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @ApiModelProperty(value = "二维码存放地址")
+    private String qcCode;
+
+    // 是否允许多批
+    private Integer isAllowMore;
+    @TableField(exist = false)
+    private Integer notInUse;
+}

+ 58 - 0
src/main/java/cn/ezhizao/project/business/domain/BizCarrierCategory.java

@@ -0,0 +1,58 @@
+package cn.ezhizao.project.business.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 企业租户对象 biz_carrier_category
+ *
+ * @author ezhizao
+ * @date 2024-03-18
+ */
+@Data
+@TableName(value = "biz_carrier_category")
+public class BizCarrierCategory extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 租户id */
+    @ApiModelProperty(value = "${comment}")
+    private Long tenantId;
+
+    /** 父级类别id */
+    @ApiModelProperty(value = "${comment}")
+    private Long parentId;
+
+    /** 设备类别编号 */
+    @Excel(name = "设备类别编号")
+    @ApiModelProperty(value = "设备类别编号")
+    private String code;
+
+    /** 设备类别名称 */
+    @Excel(name = "设备类别名称")
+    @ApiModelProperty(value = "设备类别名称")
+    private String name;
+
+    /** 设备类别排序 */
+    @Excel(name = "设备类别排序")
+    @ApiModelProperty(value = "设备类别排序")
+    private Integer sort;
+
+    /** 是否允许多批(0:默认不允许,1:允许) */
+    @Excel(name = "是否允许多批", readConverterExp = "0=:默认不允许,1:允许")
+    @ApiModelProperty(value = "是否允许多批")
+    private Integer isAllowMore;
+
+    /* ********************************************* 虚字段 ********************************************* */
+
+    /** 子类别 */
+    @TableField(exist = false)
+    private List<BizCarrierCategory> children;
+
+}

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

@@ -2,8 +2,10 @@ package cn.ezhizao.project.business.domain;
 
 import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.Tag;
 import lombok.Data;
 
 
@@ -98,4 +100,7 @@ public class BizDayworkCarrier extends BaseEntity {
     @ApiModelProperty(value = "是否被更换")
     private Integer isChanged;
 
+    @TableField(exist = false)
+    private String remark;
+
 }

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

@@ -190,6 +190,14 @@ public class BizLot extends BaseEntity {
     @TableField(exist = false)
     private BizLotWaste lotWaste;
 
+    // 当前关联载具
+    @TableField(exist = false)
+    private List<BizCarrier> carriers;
+    // 合格数
+    @TableField(exist = false)
+    private Integer qualifiedNum;
 
+    @TableField(exist = false)
+    private String latestLotCode;
 
 }

+ 21 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizCarrierCategoryMapper.java

@@ -0,0 +1,21 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.BizCarrierCategory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 设备档案Mapper接口
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+public interface BizCarrierCategoryMapper extends BaseMapper<BizCarrierCategory> {
+
+    /**
+     * 物理删除
+     * @param id 待删除的数据id
+     * @return 删除结果
+     */
+    public int physicalDelete(Long id);
+
+}

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

@@ -0,0 +1,31 @@
+package cn.ezhizao.project.business.mapper;
+
+import cn.ezhizao.project.business.domain.BizCarrier;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+
+/**
+ * 设备档案Mapper接口
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+public interface BizCarrierMapper extends BaseMapper<BizCarrier> {
+    /**
+     * 物理删除
+     *
+     * @param bizEquipmentDetail 载具信息
+     * @return 删除结果
+     */
+    public int physicalDelete(BizCarrier bizEquipmentDetail);
+
+    public List<BizCarrier> getList(BizCarrier bizCarrier);
+    /**
+     * 取消废弃
+     * @param id 载具id
+     * @return 影响数量
+     */
+    public int unAbandoned(Long id);
+}

+ 29 - 0
src/main/java/cn/ezhizao/project/business/service/IBizCarrierCategoryService.java

@@ -0,0 +1,29 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.BizCarrierCategory;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * 设备档案Service接口
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+public interface IBizCarrierCategoryService extends IService<BizCarrierCategory> {
+
+    /**
+     * 物理删除
+     *
+     * @param id 要删除的数据id
+     * @return 删除结果
+     */
+    int physicalDelete(Long id);
+
+    /**
+     * 获取子类别
+     * @param list 类别列表
+     */
+    void getChildren(List<BizCarrierCategory> list);
+}

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

@@ -0,0 +1,32 @@
+package cn.ezhizao.project.business.service;
+
+import cn.ezhizao.project.business.domain.BizCarrier;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * 设备档案Service接口
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+public interface IBizCarrierService extends IService<BizCarrier> {
+
+    /**
+     * 物理删除
+     *
+     * @param bizCarrier
+     * @return 删除结果
+     */
+    int physicalDelete(BizCarrier bizCarrier);
+
+    /**
+     * 取消废弃
+     * @param id 载具id
+     * @return 影响数量
+     */
+    int unAbandoned(Long id);
+
+    public List<BizCarrier> getList(BizCarrier bizCarrier);
+}

+ 55 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizCarrierCategoryServiceImpl.java

@@ -0,0 +1,55 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.project.business.domain.BizCarrierCategory;
+import cn.ezhizao.project.business.mapper.BizCarrierCategoryMapper;
+import cn.ezhizao.project.business.service.IBizCarrierCategoryService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 设备档案Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+@Service
+public class BizCarrierCategoryServiceImpl extends ServiceImpl<BizCarrierCategoryMapper, BizCarrierCategory> implements IBizCarrierCategoryService
+{
+    @Resource
+    private BizCarrierCategoryMapper bizCarrierCategoryMapper;
+
+    /**
+     * 物理删除
+     * @param id 待删除的id
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(Long id){
+        return bizCarrierCategoryMapper.physicalDelete(id);
+    }
+
+    /**
+     * 递归获取子类别
+     */
+    @Override
+    public void getChildren(List<BizCarrierCategory> list) {
+        // 循环List
+        for (BizCarrierCategory item : list) {
+            QueryWrapper<BizCarrierCategory> queryWrapper = new QueryWrapper<>();
+            // 获取所有一级类别
+            queryWrapper.eq("deleted", 0)
+                    .eq("parent_id", item.getId());
+            // 获取子类别
+            List<BizCarrierCategory> children = bizCarrierCategoryMapper.selectList(queryWrapper);
+            if (children.size() > 0) {
+                item.setChildren(children);
+                getChildren(children);
+            }
+        }
+    }
+}

+ 52 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizCarrierServiceImpl.java

@@ -0,0 +1,52 @@
+package cn.ezhizao.project.business.service.impl;
+
+import cn.ezhizao.project.business.domain.BizCarrier;
+import cn.ezhizao.project.business.mapper.BizCarrierMapper;
+import cn.ezhizao.project.business.service.IBizCarrierService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 设备档案Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2023-11-14
+ */
+@Service
+public class BizCarrierServiceImpl extends ServiceImpl<BizCarrierMapper, BizCarrier> implements IBizCarrierService {
+    @Resource
+    private BizCarrierMapper bizCarrierMapper;
+
+    /**
+     * 物理删除
+     *
+     * @param bizCarrier
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizCarrier bizCarrier) {
+        return bizCarrierMapper.physicalDelete(bizCarrier);
+    }
+
+    ;
+
+
+    /**
+     * 取消废弃
+     *
+     * @param id 载具id
+     * @return 影响数量
+     */
+    @Override
+    public int unAbandoned(Long id) {
+        return bizCarrierMapper.unAbandoned(id);
+    }
+
+    @Override
+    public List<BizCarrier> getList(BizCarrier bizCarrier) {
+        return bizCarrierMapper.getList(bizCarrier);
+    }
+}

+ 48 - 0
src/main/resources/mybatis/business/BizCarrierMapper.xml

@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.ezhizao.project.business.mapper.BizCarrierMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizCarrier" id="BizCarrierResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+    <select id="getList" resultMap="BizCarrierResult" parameterType="cn.ezhizao.project.business.domain.BizCarrier">
+        select t1.id,t1.category_id,t1.code,t1.qc_code,t1.remark,t1.tenant_id,t1.is_allow_more,COALESCE((SELECT t2.is_abandoned FROM biz_carrier_reject t2 WHERE t1.id = t2.carrier_id ORDER BY t2.create_time DESC LIMIT 1), 0) AS is_abandoned
+        FROM biz_carrier t1
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="categoryId != null  and categoryId != 0"> AND category_id = #{categoryId}</if>
+            <if test="tenantId != null  and tenantId != 0"> AND tenant_id = #{tenantId}</if>
+            <if test="code != null  and code != ''"> AND code LIKE CONCAT('%', #{code}, '%')</if>
+            <if test="isAbandoned != null"> AND is_abandoned = #{isAbandoned}</if>
+            <!--  未关联任何生产单  -->
+            <if test="notInUse == 1">
+                AND not exists (select 1 from biz_daywork_carrier t where t.is_changed = 0 and t.carrier_id = t1.id)
+            </if>
+
+        </trim>
+
+    </select>
+
+    <update id="unAbandoned">
+        update biz_carrier
+        <set>
+            is_abandoned=0,
+            abandonment_date = '0000-00-00 00:00:00.000000',
+            abandonment_reason = ''
+        </set>
+        where id = #{id}
+    </update>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_carrier
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>