Explorar el Código

Merge branch 'feature_baisuilai_zx' of WAREWMS/WAREAMS into bionutrition

zhangxin hace 1 año
padre
commit
f760e9c05e
Se han modificado 64 ficheros con 1890 adiciones y 211 borrados
  1. 3 1
      README.md
  2. 116 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/org/OrgController.java
  3. 1 1
      ruoyi-admin/src/main/resources/application-dev.yml
  4. 1 2
      ruoyi-admin/src/test/java/com/ruoyi/admin/test/base/WarehouseTest.java
  5. 0 7
      ruoyi-common/src/main/java/com/ruoyi/common/constant/base/BizEnum.java
  6. 2 2
      ruoyi-common/src/main/java/com/ruoyi/common/constant/base/EnumUtils.java
  7. 7 0
      ruoyi-common/src/main/java/com/ruoyi/common/constant/base/IBaseEnum.java
  8. 12 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/bean/dto/WarewmsDTO.java
  9. 24 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/bean/dto/WarewmsExtDTO.java
  10. 14 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/bean/entity/WarewmsEntity.java
  11. 35 0
      ruoyi-common/src/main/java/com/ruoyi/common/core/bean/entity/WarewmsExtEntity.java
  12. 19 7
      ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
  13. 0 1
      ruoyi-common/src/main/java/com/ruoyi/common/exception/GlobalException.java
  14. 0 1
      ruoyi-common/src/main/java/com/ruoyi/common/exception/ServiceException.java
  15. 52 0
      ruoyi-common/src/main/java/com/ruoyi/common/handler/FieldMetaObjectHandler.java
  16. 0 1
      ruoyi-common/src/main/java/com/ruoyi/common/utils/JacksonUtil.java
  17. 61 0
      ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtil.java
  18. 2 1
      ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
  19. 1 1
      ruoyi-framework/src/main/java/com/ruoyi/framework/mapper/BaseDao.java
  20. 6 6
      ruoyi-ui/src/api/base/customer.js
  21. 28 25
      ruoyi-ui/src/views/base/customer/index.vue
  22. 1 0
      ruoyi-ui/src/views/base/supplier/index.vue
  23. 68 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocDetails.java
  24. 74 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocHeader.java
  25. 66 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/BionutritionDocDetailsDTO.java
  26. 73 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/BionutritionDocHeaderDTO.java
  27. 29 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/BionutritionDocDetailBaseDTO.java
  28. 30 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/FinishedProductReceiptDetailDTO.java
  29. 24 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionPickingListDetailDTO.java
  30. 25 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionReturnOrderDetailDTO.java
  31. 28 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/PurchaseReceiptDetailDTO.java
  32. 28 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleOutboundOrderDetailDTO.java
  33. 25 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleReturnOrderDetailDTO.java
  34. 21 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/BionutritionDocHeaderBaseDTO.java
  35. 16 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/FinishedProductReceiptHeaderDTO.java
  36. 16 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionPickingListHeaderDTO.java
  37. 16 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionReturnOrderHeaderDTO.java
  38. 25 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/PurchaseReceiptHeaderDTO.java
  39. 40 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleOutboundOrderHeaderDTO.java
  40. 28 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleReturnOrderHeaderDTO.java
  41. 8 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocDetailsMapper.java
  42. 14 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocHeaderMapper.java
  43. 15 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocDetailsService.java
  44. 15 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocHeaderService.java
  45. 34 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocDetailsServiceImpl.java
  46. 57 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocHeaderServiceImpl.java
  47. 67 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/util/BionutritionDocUtil.java
  48. 66 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/bean/dto/OrgDTO.java
  49. 66 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/bean/entity/OrgEntity.java
  50. 14 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/mapper/OrgMapper.java
  51. 47 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/service/IOrgSevice.java
  52. 81 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/service/impl/OrgServiceImpl.java
  53. 9 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/bean/dto/SkuDTO.java
  54. 13 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/bean/entity/SkuEntity.java
  55. 10 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/mapper/SkuMapper.java
  56. 44 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/service/ISkuService.java
  57. 46 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/service/impl/SkuServiceImpl.java
  58. 0 61
      warewms-ams/src/main/java/com/ruoyi/ams/project/service/BaseLocationInfoSubService.java
  59. 7 0
      warewms-ams/src/main/resources/mapper/doc/BionutritionDocDetailsMapper.xml
  60. 7 0
      warewms-ams/src/main/resources/mapper/doc/BionutritionDocHeaderMapper.xml
  61. 52 0
      warewms-ams/src/main/resources/mapper/org/OrgMapper.xml
  62. 0 2
      warewms-base/src/main/java/com/ruoyi/base/constant/Constant.java
  63. 109 0
      warewms-base/src/main/java/com/ruoyi/base/constant/type/BizEnum.java
  64. 92 92
      warewms-base/src/main/java/com/ruoyi/base/domain/BaseSku.java

+ 3 - 1
README.md

@@ -1,4 +1,6 @@
 # AMS产品
-#Master v2.0 
+#佰穗莱项目(基于master_v2.0)
+
+#master_v2.0的优化内容如下:
  1. Mybatis plus引入,提供工具类CrudService,BaseService的封装
  2. 枚举类工具类EnumUtils,JackSonUtil工具类,RestTemplate提供支持

+ 116 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/org/OrgController.java

@@ -0,0 +1,116 @@
+package com.ruoyi.web.controller.warewms.org;
+
+import com.github.pagehelper.PageInfo;
+import com.ruoyi.ams.bionutrition.org.bean.dto.OrgDTO;
+import com.ruoyi.ams.bionutrition.org.service.IOrgSevice;
+import com.ruoyi.base.constant.type.BizEnum;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 入库单Controller
+ *
+ * @author ruoyi
+ * @date 2022-10-12
+ */
+@RestController
+@RequestMapping("/base/org")
+public class OrgController extends BaseController {
+
+
+    @Autowired
+    private IOrgSevice orgSevice;
+
+    /**
+     * 获取客户/供应商详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('base:customer:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return AjaxResult.success(orgSevice.selectOrgById(id));
+    }
+
+    /**
+     * 查询客户/供应商列表
+     */
+    @PreAuthorize("@ss.hasPermi('base:customer:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(OrgDTO orgDTO) {
+        PageUtils.startPage();
+        PageInfo<OrgDTO> orgPageInfo = orgSevice.getOrgPageInfo(orgDTO);
+        return getDataTable(orgPageInfo);
+    }
+
+    /**
+     * 新增客户/供应商
+     */
+    @PreAuthorize("@ss.hasPermi('base:customer:add')")
+    @Log(title = "客户/供应商", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody OrgDTO OrgDTO)
+    {
+        return toAjax(orgSevice.insertOrg(OrgDTO));
+    }
+
+    /**
+     * 修改客户/供应商
+     */
+    @PreAuthorize("@ss.hasPermi('base:customer:edit')")
+    @Log(title = "客户/供应商", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody OrgDTO OrgDTO)
+    {
+        return toAjax(orgSevice.updateOrg(OrgDTO));
+    }
+
+    /**
+     * 删除客户/供应商
+     */
+    @PreAuthorize("@ss.hasPermi('base:customer:remove')")
+    @Log(title = "客户/供应商", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(orgSevice.deleteOrgByIds(ids));
+    }
+
+    /**
+     * 获取客户/供应商信息字典
+     */
+    @GetMapping("queryDict")
+    public AjaxResult queryDict(OrgDTO orgDTO)
+    {
+        return AjaxResult.success(orgSevice.getOrgDTOList(orgDTO));
+    }
+
+    /**
+     * 导出客户/供应商列表
+     */
+    @PreAuthorize("@ss.hasPermi('base:customer:export')")
+    @Log(title = "客户/供应商", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, OrgDTO orgDTO)
+    {
+        List<OrgDTO> orgDTOList = orgSevice.getOrgDTOList(orgDTO);
+        ExcelUtil<OrgDTO> util = new ExcelUtil<>(OrgDTO.class);
+        if (orgDTO.getOrgType().equals(BizEnum.OrgType.CUSTOMER.getCode())){
+            util.exportExcel(response,orgDTOList,"客户数据","客户数据");
+        }else {
+            util.exportExcel(response,orgDTOList,"供应商数据","供应商数据");
+        }
+
+    }
+
+}

+ 1 - 1
ruoyi-admin/src/main/resources/application-dev.yml

@@ -73,7 +73,7 @@ spring:
                 min-idle: 0
                 # 连接池中的最大空闲连接
                 max-idle: 8
-                # 连接池的最大数据库连接
+                # 连接池的最大数据库连接
                 max-active: 8
                 # #连接池最大阻塞等待时间(使用负值表示没有限制)
                 max-wait: -1ms

+ 1 - 2
ruoyi-admin/src/test/java/com/ruoyi/admin/test/base/WarehouseTest.java

@@ -9,11 +9,11 @@ import com.ruoyi.ams.agv.ndc.service.IAmsTaskService;
 import com.ruoyi.ams.asn.domain.WmsDocAsnDetails;
 import com.ruoyi.ams.asn.domain.WmsDocAsnHeader;
 import com.ruoyi.ams.asn.service.IWmsDocAsnHeaderService;
+import com.ruoyi.ams.business.IBusinessService;
 import com.ruoyi.ams.business.domain.FilterLockInvLocationDTO;
 import com.ruoyi.ams.config.domain.AsnSoStrategy;
 import com.ruoyi.ams.config.domain.FlowConfigHeader;
 import com.ruoyi.ams.config.domain.dto.InWarehouseDTO;
-import com.ruoyi.ams.business.IBusinessService;
 import com.ruoyi.ams.config.domain.dto.LotattDTO;
 import com.ruoyi.ams.config.domain.dto.OutWarehouseDTO;
 import com.ruoyi.ams.config.mapper.AsnSoStrategyMapper;
@@ -40,7 +40,6 @@ import com.ruoyi.base.service.IBaseIdsequenceService;
 import com.ruoyi.base.service.IBaseLocationInfoService;
 import com.ruoyi.base.service.IBaseWarehouseService;
 import com.ruoyi.base.utils.IdSequenceUtils;
-import com.ruoyi.framework.web.domain.server.Sys;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;

+ 0 - 7
ruoyi-common/src/main/java/com/ruoyi/common/constant/base/BizEnum.java

@@ -1,7 +0,0 @@
-package com.ruoyi.common.constant.base;
-
-public interface BizEnum{
-
-	<T> T getCode();
-
-}

+ 2 - 2
ruoyi-common/src/main/java/com/ruoyi/common/constant/base/EnumUtils.java

@@ -8,14 +8,14 @@ import java.util.Arrays;
 
 
 /**
- * @see BizEnum 该类中的枚举都可以使用改工具类,即继承自BizEnum即可
+ * @see IBaseEnum 该类中的枚举都可以使用改工具类,即继承自BizEnum即可
  * @description 通过code来获取枚举对象方法,根据Code找不到对应枚举会返回Null,调用者请避免NPE
  * @author chenyang
  */
 @Slf4j
 public class EnumUtils {
 
-	public static <T extends BizEnum> T getEnumByCode(Object code, Class<T> enumClass){
+	public static <C ,T extends IBaseEnum<C>> T getEnumByCode(C code, Class<T> enumClass){
 
 		//参数校验
 		if(ObjectUtil.isNull(code)) return null;

+ 7 - 0
ruoyi-common/src/main/java/com/ruoyi/common/constant/base/IBaseEnum.java

@@ -0,0 +1,7 @@
+package com.ruoyi.common.constant.base;
+
+public interface IBaseEnum<T> {
+
+	T getCode();
+
+}

+ 12 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/bean/dto/WarewmsDTO.java

@@ -0,0 +1,12 @@
+package com.ruoyi.common.core.bean.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class WarewmsDTO implements Serializable {
+
+    private static final long serialVersionUID = -3689701440388944457L;
+
+}

+ 24 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/bean/dto/WarewmsExtDTO.java

@@ -0,0 +1,24 @@
+package com.ruoyi.common.core.bean.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class WarewmsExtDTO extends WarewmsDTO {
+
+
+    private static final long serialVersionUID = 972168161325170489L;
+
+    private String id;
+
+    private Long creator;
+
+    private Date createDate;
+
+    private Long updater;
+
+    private Date updateDate;
+
+
+}

+ 14 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/bean/entity/WarewmsEntity.java

@@ -0,0 +1,14 @@
+package com.ruoyi.common.core.bean.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@TableName
+public class WarewmsEntity implements Serializable {
+
+    private static final long serialVersionUID = -4517083772312506873L;
+
+}

+ 35 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/bean/entity/WarewmsExtEntity.java

@@ -0,0 +1,35 @@
+package com.ruoyi.common.core.bean.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.util.Date;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@Accessors(chain = true)
+public class WarewmsExtEntity extends WarewmsEntity {
+
+    private static final long serialVersionUID = 5454051931854654410L;
+
+    @TableId
+    private String id;
+
+    @TableField(fill = FieldFill.INSERT)
+    private String creator;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Date createDate;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private String updater;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateDate;
+
+    private String remark;
+}

+ 19 - 7
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java

@@ -1,12 +1,5 @@
 package com.ruoyi.common.core.controller;
 
-import java.beans.PropertyEditorSupport;
-import java.util.Date;
-import java.util.List;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.InitBinder;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.constant.HttpStatus;
@@ -20,6 +13,14 @@ import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.sql.SqlUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.WebDataBinder;
+import org.springframework.web.bind.annotation.InitBinder;
+
+import java.beans.PropertyEditorSupport;
+import java.util.Date;
+import java.util.List;
 
 /**
  * web层通用数据处理
@@ -82,6 +83,17 @@ public class BaseController
         return rspData;
     }
 
+
+    protected <T> TableDataInfo getDataTable(PageInfo<T> pageInfo)
+    {
+        TableDataInfo rspData = new TableDataInfo();
+        rspData.setCode(HttpStatus.SUCCESS);
+        rspData.setMsg("查询成功");
+        rspData.setRows(pageInfo.getList());
+        rspData.setTotal(pageInfo.getTotal());
+        return rspData;
+    }
+
     /**
      * 返回成功
      */

+ 0 - 1
ruoyi-common/src/main/java/com/ruoyi/common/exception/GlobalException.java

@@ -18,7 +18,6 @@ public class GlobalException extends RuntimeException
     /**
      * 错误明细,内部调试错误
      *
-     * 和 {@link CommonResult#getDetailMessage()} 一致的设计
      */
     private String detailMessage;
 

+ 0 - 1
ruoyi-common/src/main/java/com/ruoyi/common/exception/ServiceException.java

@@ -24,7 +24,6 @@ public final class ServiceException extends RuntimeException
     /**
      * 错误明细,内部调试错误
      *
-     * 和 {@link CommonResult#getDetailMessage()} 一致的设计
      */
     private String detailMessage;
 

+ 52 - 0
ruoyi-common/src/main/java/com/ruoyi/common/handler/FieldMetaObjectHandler.java

@@ -0,0 +1,52 @@
+
+
+package com.ruoyi.common.handler;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.ruoyi.common.utils.SecurityUtils;
+import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+
+/**
+ * 公共字段,自动填充值
+ *
+ * @author ChenYang
+ */
+@Component
+public class FieldMetaObjectHandler implements MetaObjectHandler {
+
+    private final static String CREATE_DATE = "createDate";
+    private final static String CREATOR = "creator";
+    private final static String UPDATE_DATE = "updateDate";
+    private final static String UPDATER = "updater";
+
+    @Override
+    public void insertFill(MetaObject metaObject) {
+        /*try {
+            if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) {
+                BaseExtEntity baseExtEntity = (BaseExtEntity) metaObject.getOriginalObject();
+                Date currentDate = ObjectUtil.isNotNull(baseExtEntity.getCreateDate())
+                        ? baseExtEntity.getCreateDate() : new Date();
+                baseExtEntity.setCreateDate(currentDate).setUpdateDate(currentDate);
+                String operateUser = StringUtils.isNotBlank(baseExtEntity.getCreator())
+                        ? baseExtEntity.getCreator() : SecurityUtils.getUsername();
+                baseExtEntity.setCreator(operateUser).setUpdater(operateUser);
+            }
+        } catch (Exception e) {
+            throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
+        }*/
+        strictInsertFill(metaObject, CREATOR, String.class, SecurityUtils.getUsername());
+        strictInsertFill(metaObject, CREATE_DATE, Date.class, DateUtil.date());
+        strictInsertFill(metaObject, UPDATER, String.class, SecurityUtils.getUsername());
+        strictInsertFill(metaObject, UPDATE_DATE, Date.class, DateUtil.date());
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        strictInsertFill(metaObject, UPDATER, String.class, SecurityUtils.getUsername());
+        strictInsertFill(metaObject, UPDATE_DATE, Date.class, DateUtil.date());
+    }
+}

+ 0 - 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/JacksonUtil.java

@@ -18,7 +18,6 @@ public class JacksonUtil {
         return StringUtils.isNotBlank(jsonString) ? mapper.readValue(jsonString, clazz) : null ;
     }
 
-
     @SneakyThrows
     public static <T> T toObject(String jsonString, TypeReference<T> typeReference) {
         return (T)(StringUtils.isNotBlank(jsonString) ? mapper.readValue(jsonString, typeReference) : null) ;

+ 61 - 0
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtil.java

@@ -0,0 +1,61 @@
+package com.ruoyi.common.utils;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageInfo;
+import com.google.common.collect.Lists;
+
+import java.util.List;
+
+/**
+ * 分页工具类
+ * @author
+ */
+public class PageUtil{
+
+    /**
+     * 开始分页
+     * @param list
+     * @param pageNum 页码
+     * @param pageSize 每页多少条数据
+     * @return  返回值为null请检查入参
+     */
+    public static <T> List<T> startPage(List<T> list, Integer pageNum,
+                                        Integer pageSize) {
+        if (list == null || ObjectUtil.isNull(pageNum) || ObjectUtil.isNull(pageSize)
+                || pageNum < 1 || pageSize < 1) {
+            return null;
+        }
+        if((list.size() == 0 || (list.size()/pageSize + 1) * pageSize < pageNum * pageSize)){
+            return Lists.newArrayList();
+        }
+
+        Integer count = list.size(); // 记录总数
+        Integer pageCount = 0; // 页数
+        if (count % pageSize == 0) {
+            pageCount = count / pageSize;
+        } else {
+            pageCount = count / pageSize + 1;
+        }
+
+        int fromIndex = 0; // 开始索引
+        int toIndex = 0; // 结束索引
+        pageNum = Math.min(pageNum, pageCount);
+        if (!pageNum.equals(pageCount)) {
+            fromIndex = (pageNum - 1) * pageSize;
+            toIndex = fromIndex + pageSize;
+        } else {
+            fromIndex = (pageNum - 1) * pageSize;
+            toIndex = count;
+        }
+
+        return list.subList(fromIndex, Math.min(toIndex, list.size()));
+    }
+
+
+    public static <E, T> PageInfo<T> convert(Page<E> page, Class<T> targetClass) {
+        if(CollectionUtil.isNotEmpty(page)) return PageInfo.of(new Page<>());
+        return page.toPageInfo(item -> ConvertUtils.sourceToTarget(item, targetClass));
+    }
+}

+ 2 - 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java

@@ -7,11 +7,11 @@ import com.ruoyi.common.utils.sql.SqlUtil;
 
 /**
  * 分页工具类
- * 
  * @author ruoyi
  */
 public class PageUtils extends PageHelper
 {
+
     /**
      * 设置请求分页数据
      */
@@ -27,4 +27,5 @@ public class PageUtils extends PageHelper
             PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable);
         }
     }
+
 }

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/mapper/BaseDao.java

@@ -7,6 +7,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author chenyang
  *
  */
-public interface BaseDao<T> extends BaseMapper<T> {
+public interface WarewmsMapper<T> extends BaseMapper<T> {
 
 }

+ 6 - 6
ruoyi-ui/src/api/base/customer.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询客户列表
 export function listCustomer(query) {
   return request({
-    url: '/base/customer/list',
+    url: '/base/org/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listCustomer(query) {
 // 查询客户详细
 export function getCustomer(customerId) {
   return request({
-    url: '/base/customer/' + customerId,
+    url: '/base/org/' + customerId,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getCustomer(customerId) {
 // 新增客户
 export function addCustomer(data) {
   return request({
-    url: '/base/customer',
+    url: '/base/org',
     method: 'post',
     data: data
   })
@@ -29,7 +29,7 @@ export function addCustomer(data) {
 // 修改客户
 export function updateCustomer(data) {
   return request({
-    url: '/base/customer',
+    url: '/base/org',
     method: 'put',
     data: data
   })
@@ -38,7 +38,7 @@ export function updateCustomer(data) {
 // 删除客户
 export function delCustomer(customerId) {
   return request({
-    url: '/base/customer/' + customerId,
+    url: '/base/org/' + customerId,
     method: 'delete'
   })
 }
@@ -46,7 +46,7 @@ export function delCustomer(customerId) {
 // 查询供应商信息字典
 export function queryCustomerDict() {
   return request({
-    url: '/base/customer/queryDict',
+    url: '/base/org/queryDict',
     method: 'get',
   })
 }

+ 28 - 25
ruoyi-ui/src/views/base/customer/index.vue

@@ -3,15 +3,15 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="名称" prop="customerName">
         <el-input
-          v-model="queryParams.customerName"
+          v-model="queryParams.orgName"
           placeholder="请输入名称"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="状态" prop="status">
-        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+      <el-form-item label="状态" prop="orgStatus">
+        <el-select v-model="queryParams.orgStatus" placeholder="请选择状态" clearable size="small">
           <el-option
             v-for="dict in dict.type.sys_normal_disable"
             :key="dict.value"
@@ -74,11 +74,11 @@
 
     <el-table v-loading="loading" :data="customerList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键" align="center" prop="customerId" />
-      <el-table-column label="名称" align="center" prop="customerName" />
-      <el-table-column label="状态" align="center" prop="status">
+      <el-table-column label="主键" align="center" prop="id" />
+      <el-table-column label="名称" align="center" prop="orgName" />
+      <el-table-column label="状态" align="center" prop="orgStatus">
         <template slot-scope="scope">
-          <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
+          <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.orgStatus"/>
         </template>
       </el-table-column>
       <el-table-column label="备注" align="center" prop="remark" />
@@ -106,7 +106,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -119,10 +119,10 @@
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="名称" prop="customerName">
-          <el-input v-model="form.customerName" placeholder="请输入名称" />
+          <el-input v-model="form.orgName" placeholder="请输入名称" />
         </el-form-item>
-        <el-form-item label="状态" prop="status">
-          <el-select v-model="form.status" placeholder="请选择状态">
+        <el-form-item label="状态" prop="orgStatus">
+          <el-select v-model="form.orgStatus" placeholder="请选择状态">
             <el-option
               v-for="dict in dict.type.sys_normal_disable"
               :key="dict.value"
@@ -188,8 +188,9 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        customerName: null,
-        status: null,
+        orgName: null,
+        orgStatus: null,
+        orgType: "10"// 客户
       },
       // 表单参数
       form: {},
@@ -219,9 +220,9 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        customerId: null,
-        customerName: null,
-        status: null,
+        id: null,
+        orgName: null,
+        orgStatus: null,
         createBy: null,
         createTime: null,
         updateBy: null,
@@ -231,7 +232,8 @@ export default {
         userdefine2: null,
         userdefine3: null,
         userdefine4: null,
-        userdefine5: null
+        userdefine5: null,
+        orgType: "10"//客户
       };
       this.resetForm("form");
     },
@@ -247,7 +249,7 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.customerId)
+      this.ids = selection.map(item => item.id)
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
@@ -260,8 +262,9 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const customerId = row.customerId || this.ids
-      getCustomer(customerId).then(response => {
+      const id = row.id || this.ids
+      console.log(id)
+      getCustomer(id).then(response => {
         this.form = response.data;
         this.open = true;
         this.title = "修改客户";
@@ -271,7 +274,7 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
-          if (this.form.customerId != null) {
+          if (this.form.id != null) {
             updateCustomer(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
@@ -289,9 +292,9 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const customerIds = row.customerId || this.ids;
-      this.$modal.confirm('是否确认删除客户编号为"' + customerIds + '"的数据项?').then(function() {
-        return delCustomer(customerIds);
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
+        return delCustomer(ids);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("删除成功");
@@ -299,7 +302,7 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      this.download('base/customer/export', {
+      this.download('base/org/export', {
         ...this.queryParams
       }, `customer_${new Date().getTime()}.xlsx`)
     }

+ 1 - 0
ruoyi-ui/src/views/base/supplier/index.vue

@@ -267,6 +267,7 @@ export default {
     handleUpdate(row) {
       this.reset();
       const supplierId = row.supplierId || this.ids
+      console.log(supplierId)
       getSupplier(supplierId).then(response => {
         this.form = response.data;
         this.open = true;

+ 68 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocDetails.java

@@ -0,0 +1,68 @@
+package com.ruoyi.ams.bionutrition.doc.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("bsl_doc_details")
+public class BionutritionDocDetails extends WarewmsExtEntity {
+
+    @ApiModelProperty("单据头id")
+    private String docHeaderId;
+
+    @ApiModelProperty("明细行号")
+    private String docLineNo;
+
+    @ApiModelProperty("物料编码")
+    private String skuCode;
+
+    @ApiModelProperty("物料名称")
+    private String skuName;
+
+    @ApiModelProperty("物料数量")
+    private String skuQty;
+
+    @ApiModelProperty("原厂批号")
+    private String originalLotNumber;
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("产品名称")
+    private String productName;
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("生产日期")
+    private String manufactureDate;
+
+    @ApiModelProperty("收货人")
+    private String receiver;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+
+    @ApiModelProperty("退库人")
+    private String returner;
+
+    @ApiModelProperty("含税价")
+    private String priceIncludeTax;
+
+    @ApiModelProperty("入库人")
+    private String warehousePerson;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+}

+ 74 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocHeader.java

@@ -0,0 +1,74 @@
+package com.ruoyi.ams.bionutrition.doc.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("bsl_doc_header")
+public class BionutritionDocHeader extends WarewmsExtEntity {
+
+    @ApiModelProperty("单据号")
+    private String docNo;
+
+    @ApiModelProperty("单据类型")
+    private String docType;
+
+    @ApiModelProperty("制单人")
+    private String docCreator;
+
+    @ApiModelProperty("业务类型 出库/入库")
+    private String businessType;
+
+    @ApiModelProperty("供应商编码")
+    private String vendorCode;
+
+    @ApiModelProperty("供应商全称")
+    private String vendorName;
+
+    @ApiModelProperty("客户名称")
+    private String customName;
+
+    @ApiModelProperty("采购人")
+    private String purchaser;
+
+    @ApiModelProperty("税率")
+    private String taxRate;
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+    @ApiModelProperty("销售退货单位")
+    private String saleReturnUnit;
+
+    @ApiModelProperty("销售退货人")
+    private String saleReturner;
+
+    @ApiModelProperty("销售合同")
+    private String saleContract;
+
+    @ApiModelProperty("发货人")
+    private String shipper;
+
+    @ApiModelProperty("接收人")
+    private String receiver;
+
+    @ApiModelProperty("收货地址")
+    private String receiveAddress;
+
+    @ApiModelProperty("收货人电话")
+    private String receivePhone;
+
+    @ApiModelProperty("审核人")
+    private String reviewer;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("仓库类别")
+    private String warehouseType;
+
+}

+ 66 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/BionutritionDocDetailsDTO.java

@@ -0,0 +1,66 @@
+package com.ruoyi.ams.bionutrition.doc.dto;
+
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BionutritionDocDetailsDTO extends WarewmsExtDTO {
+
+    @ApiModelProperty("单据头id")
+    private String docHeaderId;
+
+    @ApiModelProperty("明细行号")
+    private String docLineNo;
+
+    @ApiModelProperty("物料编码")
+    private String skuCode;
+
+    @ApiModelProperty("物料名称")
+    private String skuName;
+
+    @ApiModelProperty("物料数量")
+    private String skuQty;
+
+    @ApiModelProperty("原厂批号")
+    private String originalLotNumber;
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("产品名称")
+    private String productName;
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("生产日期")
+    private String manufactureDate;
+
+    @ApiModelProperty("收货人")
+    private String receiver;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+
+    @ApiModelProperty("退库人")
+    private String returner;
+
+    @ApiModelProperty("含税价")
+    private String priceIncludeTax;
+
+    @ApiModelProperty("入库人")
+    private String warehousePerson;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 73 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/BionutritionDocHeaderDTO.java

@@ -0,0 +1,73 @@
+package com.ruoyi.ams.bionutrition.doc.dto;
+
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BionutritionDocHeaderDTO extends WarewmsExtDTO {
+
+    @ApiModelProperty("单据号")
+    private String docNo;
+
+    @ApiModelProperty("单据类型")
+    private String docType;
+
+    @ApiModelProperty("制单人")
+    private String docCreator;
+
+    @ApiModelProperty("业务类型 出库/入库")
+    private String businessType;
+
+    @ApiModelProperty("供应商编码")
+    private String vendorCode;
+
+    @ApiModelProperty("供应商全称")
+    private String vendorName;
+
+    @ApiModelProperty("客户名称")
+    private String customName;
+
+    @ApiModelProperty("采购人")
+    private String purchaser;
+
+    @ApiModelProperty("税率")
+    private String taxRate;
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+    @ApiModelProperty("销售退货单位")
+    private String saleReturnUnit;
+
+    @ApiModelProperty("销售退货人")
+    private String saleReturner;
+
+    @ApiModelProperty("销售合同")
+    private String saleContract;
+
+    @ApiModelProperty("发货人")
+    private String shipper;
+
+    @ApiModelProperty("接收人")
+    private String receiver;
+
+    @ApiModelProperty("收货地址")
+    private String receiveAddress;
+
+    @ApiModelProperty("收货人电话")
+    private String receivePhone;
+
+    @ApiModelProperty("审核人")
+    private String reviewer;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("仓库类别")
+    private String warehouseType;
+
+    @ApiModelProperty("备注")
+    private String remark;
+
+}

+ 29 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/BionutritionDocDetailBaseDTO.java

@@ -0,0 +1,29 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BionutritionDocDetailBaseDTO extends WarewmsExtDTO {
+
+    private static final long serialVersionUID = 1102255580263279150L;
+
+    @ApiModelProperty("单据头id")
+    private String docHeaderId;
+
+    @ApiModelProperty("明细行号")
+    private String docLineNo;
+
+    @ApiModelProperty("物料编码")
+    private String skuCode;
+
+    @ApiModelProperty("物料名称")
+    private String skuName;
+
+    @ApiModelProperty("物料数量")
+    private String skuQty;
+
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 30 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/FinishedProductReceiptDetailDTO.java

@@ -0,0 +1,30 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 成品入库单明细
+ */
+
+@Data
+public class FinishedProductReceiptDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("收货人")
+    private String receiver;
+
+    @ApiModelProperty("入库人")
+    private String warehousePerson;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+}

+ 24 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionPickingListDetailDTO.java

@@ -0,0 +1,24 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产领料单明细
+ */
+@Data
+public class ProductionPickingListDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("生产日期")
+    private String manufactureDate;
+
+}

+ 25 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionReturnOrderDetailDTO.java

@@ -0,0 +1,25 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产退库单明细
+ */
+
+@Data
+public class ProductionReturnOrderDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("收货人")
+    private String receiver;
+
+    @ApiModelProperty("退库人")
+    private String returner;
+
+}

+ 28 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/PurchaseReceiptDetailDTO.java

@@ -0,0 +1,28 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 采购收货单明细
+ */
+
+@Data
+public class PurchaseReceiptDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("原厂批号")
+    private String originalLotNumber;
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("生产日期")
+    private String manufactureDate;
+
+    @ApiModelProperty("含税价")
+    private String priceIncludeTax;
+
+}

+ 28 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleOutboundOrderDetailDTO.java

@@ -0,0 +1,28 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售出库单明细
+ */
+
+@Data
+public class SaleOutboundOrderDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("产品名称")
+    private String productName;
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+
+}

+ 25 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleReturnOrderDetailDTO.java

@@ -0,0 +1,25 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售退库单明细
+ */
+
+@Data
+public class SaleReturnOrderDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+
+}

+ 21 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/BionutritionDocHeaderBaseDTO.java

@@ -0,0 +1,21 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BionutritionDocHeaderBaseDTO extends WarewmsExtDTO {
+
+    @ApiModelProperty("单据号")
+    private String docNo;
+
+    @ApiModelProperty("单据类型")
+    private String docType;
+
+    @ApiModelProperty("业务类型")
+    private String businessType;
+
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 16 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/FinishedProductReceiptHeaderDTO.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 成品入库单单头
+ */
+
+@Data
+public class FinishedProductReceiptHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+}

+ 16 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionPickingListHeaderDTO.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产领料单单头
+ */
+
+@Data
+public class ProductionPickingListHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+}

+ 16 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionReturnOrderHeaderDTO.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产退库单单头
+ */
+
+@Data
+public class ProductionReturnOrderHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+}

+ 25 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/PurchaseReceiptHeaderDTO.java

@@ -0,0 +1,25 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 采购收货单单头
+ */
+
+@Data
+public class PurchaseReceiptHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("供应商编码")
+    private String vendorCode;
+
+    @ApiModelProperty("供应商全称")
+    private String vendorName;
+
+    @ApiModelProperty("采购人")
+    private String purchaser;
+
+    @ApiModelProperty("税率")
+    private String taxRate;
+
+}

+ 40 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleOutboundOrderHeaderDTO.java

@@ -0,0 +1,40 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售出库单单头
+ */
+
+@Data
+public class SaleOutboundOrderHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("客户名称")
+    private String customName;
+
+    @ApiModelProperty("接收人")
+    private String receiver;
+
+    @ApiModelProperty("收货地址")
+    private String receiveAddress;
+
+    @ApiModelProperty("收货人电话")
+    private String receivePhone;
+
+    @ApiModelProperty("制单人")
+    private String docCreator;
+
+    @ApiModelProperty("审核人")
+    private String reviewer;
+
+    @ApiModelProperty("发货人")
+    private String shipper;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("销售合同")
+    private String saleContract;
+
+}

+ 28 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleReturnOrderHeaderDTO.java

@@ -0,0 +1,28 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售退库单单头
+ */
+
+@Data
+public class SaleReturnOrderHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("销售退货单位")
+    private String saleReturnUnit;
+
+    @ApiModelProperty("销售退货人")
+    private String saleReturner;
+
+    @ApiModelProperty("接收人")
+    private String receiver;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("仓库类别")
+    private String warehouseType;
+
+}

+ 8 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocDetailsMapper.java

@@ -0,0 +1,8 @@
+package com.ruoyi.ams.bionutrition.doc.mapper;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocDetails;
+import com.ruoyi.framework.mapper.WarewmsMapper;
+
+public interface BionutritionDocDetailsMapper extends WarewmsMapper<BionutritionDocDetails> {
+
+}

+ 14 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocHeaderMapper.java

@@ -0,0 +1,14 @@
+package com.ruoyi.ams.bionutrition.doc.mapper;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocHeader;
+import com.ruoyi.framework.mapper.WarewmsMapper;
+
+/**
+ * 出库单Mapper接口
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+public interface BionutritionDocHeaderMapper extends WarewmsMapper<BionutritionDocHeader> {
+
+}

+ 15 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocDetailsService.java

@@ -0,0 +1,15 @@
+package com.ruoyi.ams.bionutrition.doc.service;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocDetails;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocDetailsDTO;
+import com.ruoyi.framework.service.CrudService;
+
+/**
+ * 分配查询Service接口
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+public interface BionutritionDocDetailsService extends CrudService<BionutritionDocDetails, BionutritionDocDetailsDTO> {
+
+}

+ 15 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocHeaderService.java

@@ -0,0 +1,15 @@
+package com.ruoyi.ams.bionutrition.doc.service;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocHeader;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
+import com.ruoyi.framework.service.CrudService;
+
+/**
+ * 出库单Service接口
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+public interface BionutritionDocHeaderService extends CrudService<BionutritionDocHeader, BionutritionDocHeaderDTO> {
+
+}

+ 34 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocDetailsServiceImpl.java

@@ -0,0 +1,34 @@
+package com.ruoyi.ams.bionutrition.doc.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocDetails;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocDetailsDTO;
+import com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocDetailsMapper;
+import com.ruoyi.ams.bionutrition.doc.service.BionutritionDocDetailsService;
+import com.ruoyi.framework.service.impl.CrudServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * 分配查询Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+@Service
+public class BionutritionDocDetailsServiceImpl extends CrudServiceImpl<BionutritionDocDetailsMapper, BionutritionDocDetails, BionutritionDocDetailsDTO> implements BionutritionDocDetailsService {
+
+
+
+
+
+
+
+    @Override
+    public QueryWrapper<BionutritionDocDetails> getWrapper(Map<String, Object> params) {
+        QueryWrapper<BionutritionDocDetails> queryWrapper = new QueryWrapper<>();
+        return queryWrapper;
+    }
+
+}

+ 57 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocHeaderServiceImpl.java

@@ -0,0 +1,57 @@
+package com.ruoyi.ams.bionutrition.doc.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.google.common.collect.Lists;
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocHeader;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
+import com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocHeaderMapper;
+import com.ruoyi.ams.bionutrition.doc.service.BionutritionDocHeaderService;
+import com.ruoyi.common.utils.ConvertUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.service.impl.CrudServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class BionutritionDocHeaderServiceImpl extends CrudServiceImpl<BionutritionDocHeaderMapper, BionutritionDocHeader, BionutritionDocHeaderDTO> implements BionutritionDocHeaderService {
+
+
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOListByDocNo(String docNo) {
+        return getBslDocHeaderDTOList(null, Lists.newArrayList(docNo), null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOListByDocNo(List<String> docNoList) {
+        return getBslDocHeaderDTOList(null, docNoList, null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOListById(String id) {
+        return getBslDocHeaderDTOList(Lists.newArrayList(id), null, null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOList(List<String> idList) {
+        return getBslDocHeaderDTOList(idList, null, null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOList(String docType) {
+        return getBslDocHeaderDTOList(null, null, docType);
+    }
+
+    private List<BionutritionDocHeaderDTO> getBslDocHeaderDTOList(List<String> idList, List<String> docNoList, String docType) {
+        List<BionutritionDocHeader> bionutritionDocHeaderList = baseDao.selectList(Wrappers.<BionutritionDocHeader>lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(idList), BionutritionDocHeader::getId, idList)
+                .in(CollectionUtil.isNotEmpty(docNoList), BionutritionDocHeader::getDocNo, docNoList)
+                .eq(StringUtils.isNotBlank(docType), BionutritionDocHeader::getDocType, docType));
+        return ConvertUtils.sourceToTarget(bionutritionDocHeaderList, BionutritionDocHeaderDTO.class);
+    }
+
+    @Override
+    public QueryWrapper<BionutritionDocHeader> getWrapper(Map<String, Object> params) {
+        QueryWrapper<BionutritionDocHeader> queryWrapper = new QueryWrapper<>();
+        return queryWrapper;
+    }
+}

+ 67 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/util/BionutritionDocUtil.java

@@ -0,0 +1,67 @@
+package com.ruoyi.ams.bionutrition.doc.util;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
+import com.ruoyi.ams.bionutrition.doc.dto.header.BionutritionDocHeaderBaseDTO;
+import com.ruoyi.base.constant.type.BizEnum;
+import com.ruoyi.common.constant.base.EnumUtils;
+import com.ruoyi.common.utils.ConvertUtils;
+import com.ruoyi.common.utils.StringUtils;
+import io.jsonwebtoken.lang.Assert;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Slf4j
+public class BionutritionDocUtil {
+
+    /**
+     * 获取单类型单据单头
+     *
+     * @param bionutritionDocHeaderDTO
+     * @return
+     */
+    @SneakyThrows
+    public static <E extends BionutritionDocHeaderBaseDTO> E buildBslDocHeaderDTO(BionutritionDocHeaderDTO bionutritionDocHeaderDTO) {
+        Assert.isTrue(ObjectUtil.isNotNull(bionutritionDocHeaderDTO), "bslDocHeaderDTO is null");
+        Assert.isTrue(StringUtils.isNotEmpty(bionutritionDocHeaderDTO.getDocType()), "bslDocHeaderDTO docType is blank");
+        BizEnum.BslDocTypeEnum bslDocTypeEnum = EnumUtils.getEnumByCode(bionutritionDocHeaderDTO.getDocType(), BizEnum.BslDocTypeEnum.class);
+        Class<E> docClass = (Class<E>) Class.forName(bslDocTypeEnum.getClassName());
+        return ConvertUtils.sourceToTarget(bionutritionDocHeaderDTO, docClass);
+    }
+
+    /**
+     * 获取单类型单据单头
+     *
+     * @param bionutritionDocHeaderDTOList
+     * @return
+     */
+    @SneakyThrows
+    public static <E extends BionutritionDocHeaderBaseDTO> List<E> buildBslDocHeaderDTOList(List<BionutritionDocHeaderDTO> bionutritionDocHeaderDTOList) {
+        Assert.isTrue(CollectionUtil.isNotEmpty(bionutritionDocHeaderDTOList), "bslDocHeaderDTOList is empty");
+        Assert.isTrue(CollectionUtil.isEmpty(bionutritionDocHeaderDTOList.stream().filter(item -> StringUtils.isBlank(item.getDocType())).collect(Collectors.toList()))
+                , "bslDocHeaderDTOList is have bslDocHeaderDTO docType is blank");
+        BionutritionDocHeaderDTO bionutritionDocHeaderDTO = bionutritionDocHeaderDTOList.stream().findFirst().orElseGet(() -> null);
+        Assert.isTrue(bionutritionDocHeaderDTOList.stream().allMatch(item -> item.getDocType().equals(bionutritionDocHeaderDTO.getDocType())),
+                "bslDocHeaderDTOList docType is not the same type");
+        return bionutritionDocHeaderDTOList.stream().map(item -> (E) buildBslDocHeaderDTO(item)).collect(Collectors.toList());
+    }
+
+    /**
+     * 多类型单据单头根据类型分类
+     *
+     * @param bionutritionDocHeaderDTOList
+     * @return
+     */
+    @SneakyThrows
+    public static <E extends BionutritionDocHeaderBaseDTO> Map<String, List<E>> buildBslDocHeaderDTOByDocTypeMap(List<BionutritionDocHeaderDTO> bionutritionDocHeaderDTOList) {
+        Assert.isTrue(CollectionUtil.isNotEmpty(bionutritionDocHeaderDTOList), "bslDocHeaderDTOList is empty");
+        return bionutritionDocHeaderDTOList.stream().map(item -> (E) buildBslDocHeaderDTO(item)).collect(Collectors.groupingBy(BionutritionDocHeaderBaseDTO::getDocType));
+    }
+
+
+}

+ 66 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/bean/dto/OrgDTO.java

@@ -0,0 +1,66 @@
+package com.ruoyi.ams.bionutrition.org.bean.dto;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class OrgDTO extends WarewmsExtDTO {
+    private static final long serialVersionUID = -5857432637699543656L;
+
+    /**
+     * 客户/供应商编码
+     */
+    private String orgCode;
+
+    /**
+     * 客户/供应商全称
+     */
+    @Excel(name = "名称")
+    private String orgName;
+
+    /**
+     * 客户/供应商状态 0-启动 1-停用
+     */
+    private String orgStatus;
+
+    /**
+     * 通信地址
+     */
+    @Excel(name = "通信地址")
+    private String orgAddress;
+
+    /**
+     * 联系人
+     */
+    @Excel(name = "联系人")
+    private String orgContacts;
+
+
+    /**
+     * 联系电话
+     */
+    @Excel(name = "联系电话")
+    private String orgPhoneNum;
+
+    /**
+     * 开户行
+     */
+    @Excel(name = "开户行")
+    private String orgAccountsBank;
+
+    /**
+     * 企业统一代码
+     */
+    @Excel(name = "企业统一代码")
+    private String orgCreditCode;
+
+
+    /**
+     * 组织类型 10客户,00供应商
+     * @see com.ruoyi.base.constant.type.BizEnum.OrgType#getCode()
+     */
+    private String orgType;
+}

+ 66 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/bean/entity/OrgEntity.java

@@ -0,0 +1,66 @@
+package com.ruoyi.ams.bionutrition.org.bean.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@TableName("base_servicer")
+public class OrgEntity extends WarewmsExtEntity {
+
+    private static final long serialVersionUID = 4779952752594209822L;
+
+    /**
+     * 客户/供应商编码
+     */
+    private String orgCode;
+
+    /**
+     * 客户/供应商全称
+     */
+    private String orgName;
+
+    /**
+     * 客户/供应商状态 1-启动 0-停用
+     */
+    private String orgStatus;
+
+    /**
+     * 通信地址
+     */
+    private String orgAddress;
+
+    /**
+     * 联系人
+     */
+    private String orgContacts;
+
+
+    /**
+     * 联系电话
+     */
+    private String orgPhoneNum;
+
+    /**
+     * 开户行
+     */
+    private String orgAccountsBank;
+
+    /**
+     * 企业统一代码
+     */
+    private String orgCreditCode;
+
+    /**
+     * 组织类型 00客户,10供应商
+     *
+     * @see com.ruoyi.base.constant.type.BizEnum.OrgType#getCode()
+     */
+    private String orgType;
+
+
+}

+ 14 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/mapper/OrgMapper.java

@@ -0,0 +1,14 @@
+package com.ruoyi.ams.bionutrition.org.mapper;
+
+import com.ruoyi.ams.bionutrition.org.bean.entity.OrgEntity;
+import com.ruoyi.framework.mapper.WarewmsMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface OrgMapper extends WarewmsMapper<OrgEntity> {
+
+    List<OrgEntity> selectOrgs(Map<String, Object> beanToMap);
+}

+ 47 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/service/IOrgSevice.java

@@ -0,0 +1,47 @@
+package com.ruoyi.ams.bionutrition.org.service;
+
+import com.github.pagehelper.PageInfo;
+import com.ruoyi.ams.bionutrition.org.bean.dto.OrgDTO;
+import com.ruoyi.ams.bionutrition.org.bean.entity.OrgEntity;
+import com.ruoyi.framework.service.CrudService;
+
+import java.util.List;
+
+public interface IOrgSevice extends CrudService<OrgEntity, OrgDTO> {
+
+    PageInfo<OrgDTO> getOrgPageInfo(OrgDTO orgDTO);
+
+    /**
+     * 获取机构列表
+     * @author
+     */
+    List<OrgDTO> getOrgDTOList(OrgDTO orgDTO);
+
+    /**
+     * 添加客户/供应商
+     * @param orgDTO
+     * @return
+     */
+    int insertOrg(OrgDTO orgDTO);
+
+    /**
+     * 修改客户/供应商
+     * @param orgDTO
+     * @return
+     */
+    int updateOrg(OrgDTO orgDTO);
+
+    /**
+     * 根据id查询客户/供应商
+     * @param id
+     * @return
+     */
+    OrgDTO selectOrgById(String id);
+
+    /**
+     * 根据id删除
+     * @param ids
+     * @return
+     */
+    int deleteOrgByIds(String[] ids);
+}

+ 81 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/org/service/impl/OrgServiceImpl.java

@@ -0,0 +1,81 @@
+package com.ruoyi.ams.bionutrition.org.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageInfo;
+import com.google.common.collect.Lists;
+import com.ruoyi.ams.bionutrition.org.bean.dto.OrgDTO;
+import com.ruoyi.ams.bionutrition.org.bean.entity.OrgEntity;
+import com.ruoyi.ams.bionutrition.org.mapper.OrgMapper;
+import com.ruoyi.ams.bionutrition.org.service.IOrgSevice;
+import com.ruoyi.common.utils.ConvertUtils;
+import com.ruoyi.common.utils.PageUtil;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.service.impl.CrudServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class OrgServiceImpl extends CrudServiceImpl<OrgMapper, OrgEntity, OrgDTO> implements IOrgSevice {
+
+    @Override
+    public PageInfo<OrgDTO> getOrgPageInfo(OrgDTO orgDTO) {
+        Page<OrgEntity> orgEntitiesPage = (Page<OrgEntity>)baseDao.selectOrgs(BeanUtil.beanToMap(orgDTO));
+        return PageUtil.convert(orgEntitiesPage, OrgDTO.class) ;
+    }
+
+    @Override
+    public List<OrgDTO> getOrgDTOList(OrgDTO orgDTO) {
+        List<OrgEntity> orgEntities = baseDao.selectList(getWrapper(BeanUtil.beanToMap(orgDTO)));
+        return CollectionUtil.isNotEmpty(orgEntities)?
+                ConvertUtils.sourceToTarget(orgEntities, OrgDTO.class) : Lists.newArrayList();
+    }
+
+    @Override
+    public int insertOrg(OrgDTO orgDTO) {
+        Assert.notNull(orgDTO,"不允许插入空数据");
+        return baseDao.insert(ConvertUtils.sourceToTarget(orgDTO, OrgEntity.class));
+    }
+
+    @Override
+    public int updateOrg(OrgDTO orgDTO) {
+        UpdateWrapper<OrgEntity> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(OrgEntity::getId, orgDTO.getId());
+        updateWrapper.lambda().eq(StringUtils.isNotBlank(orgDTO.getOrgType()), OrgEntity::getOrgType, orgDTO.getOrgType());
+        return baseDao.update(ConvertUtils.sourceToTarget(orgDTO, OrgEntity.class),updateWrapper);
+    }
+
+    @Override
+    public OrgDTO selectOrgById(String id) {
+        OrgEntity orgEntity = baseDao.selectById(id);
+        return ObjectUtil.isNotNull(orgEntity) ?
+                ConvertUtils.sourceToTarget(orgEntity, OrgDTO.class) : new OrgDTO();
+    }
+
+    @Override
+    public int deleteOrgByIds(String[] ids) {
+        return baseDao.deleteBatchIds(Arrays.asList(ids));
+    }
+
+    @Override
+    public QueryWrapper<OrgEntity> getWrapper(Map<String, Object> params) {
+        QueryWrapper<OrgEntity> queryWrapper = new QueryWrapper<>();
+        /*String orgStatus = StringUtils.isBlank((String)params.get("orgStatus"))
+                ? BizEnum.OrgStatus.Enable.getCode() : BizEnum.OrgStatus.Disable.getCode();
+        queryWrapper.lambda().eq(OrgEntity::getOrgStatus, orgStatus);*/
+        queryWrapper.lambda().eq(StringUtils.isNotBlank((String)params.get("orgStatus")), OrgEntity::getOrgStatus, params.get("orgStatus"));
+        queryWrapper.lambda().eq(StringUtils.isNotBlank((String)params.get("orgName")), OrgEntity::getOrgName, params.get("orgName"));
+        queryWrapper.lambda().eq(StringUtils.isNotBlank((String)params.get("orgType")), OrgEntity::getOrgType, params.get("orgType"));
+        return queryWrapper;
+    }
+
+
+}

+ 9 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/bean/dto/SkuDTO.java

@@ -0,0 +1,9 @@
+package com.ruoyi.ams.bionutrition.sku.bean.dto;
+
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import lombok.Data;
+
+@Data
+public class SkuDTO extends WarewmsExtDTO {
+    private static final long serialVersionUID = 1373693183188199736L;
+}

+ 13 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/bean/entity/SkuEntity.java

@@ -0,0 +1,13 @@
+package com.ruoyi.ams.bionutrition.sku.bean.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@TableName("base_sku")
+public class SkuEntity extends WarewmsExtEntity {
+    private static final long serialVersionUID = 6368465233645519789L;
+}

+ 10 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/mapper/SkuMapper.java

@@ -0,0 +1,10 @@
+package com.ruoyi.ams.bionutrition.sku.mapper;
+
+import com.ruoyi.ams.bionutrition.org.bean.entity.OrgEntity;
+import com.ruoyi.ams.bionutrition.sku.bean.entity.SkuEntity;
+import com.ruoyi.framework.mapper.WarewmsMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SkuMapper extends WarewmsMapper<SkuEntity> {
+}

+ 44 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/service/ISkuService.java

@@ -0,0 +1,44 @@
+package com.ruoyi.ams.bionutrition.sku.service;
+
+import com.ruoyi.ams.bionutrition.sku.bean.dto.SkuDTO;
+import com.ruoyi.ams.bionutrition.sku.bean.entity.SkuEntity;
+import com.ruoyi.framework.service.CrudService;
+
+import java.util.List;
+
+public interface ISkuService extends CrudService<SkuEntity, SkuDTO> {
+
+    /**
+     * 获取物料列表
+     * @author
+     */
+    List<SkuDTO> getSkuDTOList(SkuDTO skuDTO);
+
+    /**
+     * 添加物料
+     * @param skuDTO
+     * @return
+     */
+    int insertSku(SkuDTO skuDTO);
+
+    /**
+     * 修改物料
+     * @param skuDTO
+     * @return
+     */
+    int updateSku(SkuDTO skuDTO);
+
+    /**
+     * 根据id查询物料
+     * @param id
+     * @return
+     */
+    SkuDTO selectSkuById(String id);
+
+    /**
+     * 根据id删除
+     * @param ids
+     * @return
+     */
+    int deleteSkuByIds(String[] ids);
+}

+ 46 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/sku/service/impl/SkuServiceImpl.java

@@ -0,0 +1,46 @@
+package com.ruoyi.ams.bionutrition.sku.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.ams.bionutrition.sku.bean.dto.SkuDTO;
+import com.ruoyi.ams.bionutrition.sku.bean.entity.SkuEntity;
+import com.ruoyi.ams.bionutrition.sku.mapper.SkuMapper;
+import com.ruoyi.ams.bionutrition.sku.service.ISkuService;
+import com.ruoyi.framework.service.impl.CrudServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class SkuServiceImpl extends CrudServiceImpl<SkuMapper, SkuEntity, SkuDTO> implements ISkuService {
+
+    @Override
+    public List<SkuDTO> getSkuDTOList(SkuDTO skuDTO) {
+        return null;
+    }
+
+    @Override
+    public int insertSku(SkuDTO skuDTO) {
+        return 0;
+    }
+
+    @Override
+    public int updateSku(SkuDTO skuDTO) {
+        return 0;
+    }
+
+    @Override
+    public SkuDTO selectSkuById(String id) {
+        return null;
+    }
+
+    @Override
+    public int deleteSkuByIds(String[] ids) {
+        return 0;
+    }
+
+    @Override
+    public QueryWrapper<SkuEntity> getWrapper(Map<String, Object> params) {
+        return null;
+    }
+}

+ 0 - 61
warewms-ams/src/main/java/com/ruoyi/ams/project/service/BaseLocationInfoSubService.java

@@ -1,61 +0,0 @@
-package com.ruoyi.ams.project.service;
-
-import com.alibaba.fastjson.JSON;
-import com.ruoyi.ams.config.domain.dto.LotattDTO;
-import com.ruoyi.base.domain.vo.BaseLocationLotattVO;
-import com.ruoyi.base.service.IBaseLocationInfoService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author JWK
- * @version 1.0
- * @date 2023/4/3 18:44
- */
-@Service
-public class BaseLocationInfoSubService {
-
-    @Autowired
-    private IBaseLocationInfoService baseLocationInfoService;
-
-
-    /**
-     * 根据条件查询可分配库位
-     *
-     * @param zoneId
-     * @param bindSku
-     * @param orderBy
-     * @return
-     */
-    public List<BaseLocationLotattVO> selectAllocatingInventoryAccordingConditionsOrderBy(List<String> zoneId
-            , String bindSku
-            , String orderBy) {
-        return baseLocationInfoService.selectAllocatingLocationAccordingConditionsOrderBy(zoneId
-                , bindSku
-                , orderBy);
-    }
-
-    /**
-     * 根据条件查询可分配库存
-     *
-     * @param zoneId
-     * @param lotattDTO
-     * @param sku
-     * @param orderBy
-     * @return
-     */
-    public List<BaseLocationLotattVO> selectAllocatingInventoryAccordingConditionsOrderBy(List<String> zoneId
-            , LotattDTO lotattDTO
-            , String sku
-            , String orderBy) {
-        Map<String, String> map = JSON.parseObject(JSON.toJSONString(lotattDTO), HashMap.class);
-        return baseLocationInfoService.selectAllocatingInventoryAccordingConditionsOrderBy(zoneId
-                , map
-                , sku
-                , orderBy);
-    }
-}

+ 7 - 0
warewms-ams/src/main/resources/mapper/doc/BionutritionDocDetailsMapper.xml

@@ -0,0 +1,7 @@
+<?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="com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocDetailsMapper">
+
+</mapper>

+ 7 - 0
warewms-ams/src/main/resources/mapper/doc/BionutritionDocHeaderMapper.xml

@@ -0,0 +1,7 @@
+<?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="com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocHeaderMapper">
+
+</mapper>

+ 52 - 0
warewms-ams/src/main/resources/mapper/org/OrgMapper.xml

@@ -0,0 +1,52 @@
+<?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="com.ruoyi.ams.bionutrition.org.mapper.OrgMapper">
+
+    <resultMap type="OrgEntity" id="OrgEntityResult">
+        <result property="id" column="id"/>
+        <result property="orgCode" column="org_code"/>
+        <result property="orgName" column="org_name"/>
+        <result property="orgStatus" column="org_status"/>
+        <result property="orgAddress" column="org_address"/>
+        <result property="orgContacts" column="org_contacts"/>
+        <result property="orgPhoneNum" column="org_phone_num"/>
+        <result property="orgAccountsBank" column="org_accounts_bank"/>
+        <result property="orgCreditCode" column="org_credit_code"/>
+        <result property="orgType" column="org_type"/>
+        <result property="creator" column="creator"/>
+        <result property="createDate" column="create_date"/>
+        <result property="updater" column="updater"/>
+        <result property="updateDate" column="update_date"/>
+        <result property="remark" column="remark"/>
+    </resultMap>
+
+    <sql id="selectOrgEntityResultVo">
+        select  id,
+                org_code,
+                org_name,
+                org_status,
+                org_address,
+                org_contacts,
+                org_phone_num,
+                org_accounts_bank,
+                org_credit_code,
+                org_type,
+                creator,
+                create_date,
+                updater,
+                update_date,
+                remark from base_servicer
+    </sql>
+
+    <select id="selectOrgs" parameterType="OrgEntity" resultMap="OrgEntityResult">
+        <include refid="selectOrgEntityResultVo"/>
+        <where>
+            <if test="orgStatus != null and orgStatus != ''"> and org_status = #{orgStatus}</if>
+            <if test="orgName != null and orgName != ''"> and org_name = #{orgName} </if>
+            <if test="orgType != null  and orgType != ''"> and org_type = #{orgType}</if>
+        </where>
+    </select>
+
+</mapper>

+ 0 - 2
warewms-base/src/main/java/com/ruoyi/base/constant/Constant.java

@@ -281,7 +281,6 @@ public class Constant {
      * 库区
      */
     public enum LOCATION_ZONE {
-
         /**
          * 立体库一层
          */
@@ -508,7 +507,6 @@ public class Constant {
     }
 
     public enum ZONE_TYPE {
-
         /**
          * 成品区
          */

+ 109 - 0
warewms-base/src/main/java/com/ruoyi/base/constant/type/BizEnum.java

@@ -0,0 +1,109 @@
+package com.ruoyi.base.constant.type;
+
+import com.ruoyi.common.constant.base.IBaseEnum;
+
+public class BizEnum {
+
+    /**
+     *   供应商-00 客户-10
+     */
+    public enum OrgType implements IBaseEnum<String> {
+        /**
+         * 供应商
+         */
+        SUPPLIER("00"),
+        /**
+         * 客户
+         */
+        CUSTOMER("10");
+
+        private final String code;
+
+        OrgType(String code) {
+            this.code = code;
+        }
+
+        @Override
+        public String getCode() {
+            return code;
+        }
+    }
+
+
+    /**
+     *  机构状态
+     */
+    public enum OrgStatus implements IBaseEnum<String> {
+        /**
+         * 启用
+         */
+        Enable("0"),
+        /**
+         * 禁用
+         */
+        Disable("1");
+
+        private final String code;
+
+        OrgStatus(String code) {
+            this.code = code;
+        }
+
+        @Override
+        public String getCode() {
+            return code;
+        }
+    }
+
+
+    public enum BslDocTypeEnum implements IBaseEnum {
+        /**
+         * 成品入库单
+         */
+        FINISHED_PRODUCT_RECEIPT("FinishedProductReceipt", "com.ruoyi.ams.bionutrition.doc.dto.header.FinishedProductReceiptHeaderDTO"),
+        /**
+         * 生产领料单
+         */
+        PRODUCTION_PICKING_LIST("ProductionPickingList", "com.ruoyi.ams.bionutrition.doc.dto.header.ProductionPickingListHeaderDTO"),
+        /**
+         * 生产退库单
+         */
+        PRODUCTION_RETURN_ORDER("ProductionReturnOrder", "com.ruoyi.ams.bionutrition.doc.dto.header.ProductionReturnOrderHeaderDTO"),
+        /**
+         * 采购收货单
+         */
+        PURCHASE_RECEIPT("PurchaseReceipt", "com.ruoyi.ams.bionutrition.doc.dto.header.PurchaseReceiptHeaderDTO"),
+        /**
+         * 销售出库单
+         */
+        SALE_OUTBOUND_ORDER("SaleOutboundOrder", "com.ruoyi.ams.bionutrition.doc.dto.header.SaleOutboundOrderHeaderDTO"),
+        /**
+         * 销售退库单
+         */
+        SALE_RETURN_ORDER("SaleReturnOrder", "com.ruoyi.ams.bionutrition.doc.dto.header.SaleReturnOrderHeaderDTO");
+
+        private String docType;
+
+        private String className;
+
+        BslDocTypeEnum(String docType, String className) {
+            this.docType = docType;
+            this.className = className;
+        }
+
+        public String getClassName() {
+            return className;
+        }
+
+        public String getDocType() {
+            return docType;
+        }
+
+        @Override
+        public String getCode() {
+            return getDocType();
+        }
+
+    }
+
+}

+ 92 - 92
warewms-base/src/main/java/com/ruoyi/base/domain/BaseSku.java

@@ -8,7 +8,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
 
 /**
  * 物料信息对象 base_sku
- * 
+ *
  * @author andy
  * @date 2022-02-21
  */
@@ -19,7 +19,7 @@ public class BaseSku extends BaseEntity
     /** 货主编号 */
     private String customerId;
 
-    /** 产品编号 */
+    /** 物料编码 */
     private String sku;
 
     /** 产品类型 */
@@ -192,408 +192,408 @@ public class BaseSku extends BaseEntity
     @Excel(name = "是否需要质检")
     private String qcCheck;
 
-    public void setCustomerId(String customerId) 
+    public void setCustomerId(String customerId)
     {
         this.customerId = customerId;
     }
 
-    public String getCustomerId() 
+    public String getCustomerId()
     {
         return customerId;
     }
-    public void setSku(String sku) 
+    public void setSku(String sku)
     {
         this.sku = sku;
     }
 
-    public String getSku() 
+    public String getSku()
     {
         return sku;
     }
-    public void setSkuType(String skuType) 
+    public void setSkuType(String skuType)
     {
         this.skuType = skuType;
     }
 
-    public String getSkuType() 
+    public String getSkuType()
     {
         return skuType;
     }
-    public void setSpecs(String specs) 
+    public void setSpecs(String specs)
     {
         this.specs = specs;
     }
 
-    public String getSpecs() 
+    public String getSpecs()
     {
         return specs;
     }
-    public void setModel(String model) 
+    public void setModel(String model)
     {
         this.model = model;
     }
 
-    public String getModel() 
+    public String getModel()
     {
         return model;
     }
-    public void setDesc1(String desc1) 
+    public void setDesc1(String desc1)
     {
         this.desc1 = desc1;
     }
 
-    public String getDesc1() 
+    public String getDesc1()
     {
         return desc1;
     }
-    public void setDesc2(String desc2) 
+    public void setDesc2(String desc2)
     {
         this.desc2 = desc2;
     }
 
-    public String getDesc2() 
+    public String getDesc2()
     {
         return desc2;
     }
-    public void setSelfCode1(String selfCode1) 
+    public void setSelfCode1(String selfCode1)
     {
         this.selfCode1 = selfCode1;
     }
 
-    public String getSelfCode1() 
+    public String getSelfCode1()
     {
         return selfCode1;
     }
-    public void setSelfCode2(String selfCode2) 
+    public void setSelfCode2(String selfCode2)
     {
         this.selfCode2 = selfCode2;
     }
 
-    public String getSelfCode2() 
+    public String getSelfCode2()
     {
         return selfCode2;
     }
-    public void setHazardFlag(String hazardFlag) 
+    public void setHazardFlag(String hazardFlag)
     {
         this.hazardFlag = hazardFlag;
     }
 
-    public String getHazardFlag() 
+    public String getHazardFlag()
     {
         return hazardFlag;
     }
-    public void setPackId(String packId) 
+    public void setPackId(String packId)
     {
         this.packId = packId;
     }
 
-    public String getPackId() 
+    public String getPackId()
     {
         return packId;
     }
-    public void setTare(BigDecimal tare) 
+    public void setTare(BigDecimal tare)
     {
         this.tare = tare;
     }
 
-    public BigDecimal getTare() 
+    public BigDecimal getTare()
     {
         return tare;
     }
-    public void setGrossweight(BigDecimal grossweight) 
+    public void setGrossweight(BigDecimal grossweight)
     {
         this.grossweight = grossweight;
     }
 
-    public BigDecimal getGrossweight() 
+    public BigDecimal getGrossweight()
     {
         return grossweight;
     }
-    public void setNetweight(BigDecimal netweight) 
+    public void setNetweight(BigDecimal netweight)
     {
         this.netweight = netweight;
     }
 
-    public BigDecimal getNetweight() 
+    public BigDecimal getNetweight()
     {
         return netweight;
     }
-    public void setActiveFlag(String activeFlag) 
+    public void setActiveFlag(String activeFlag)
     {
         this.activeFlag = activeFlag;
     }
 
-    public String getActiveFlag() 
+    public String getActiveFlag()
     {
         return activeFlag;
     }
-    public void setPutawayLocation(String putawayLocation) 
+    public void setPutawayLocation(String putawayLocation)
     {
         this.putawayLocation = putawayLocation;
     }
 
-    public String getPutawayLocation() 
+    public String getPutawayLocation()
     {
         return putawayLocation;
     }
-    public void setPutawayZone(String putawayZone) 
+    public void setPutawayZone(String putawayZone)
     {
         this.putawayZone = putawayZone;
     }
 
-    public String getPutawayZone() 
+    public String getPutawayZone()
     {
         return putawayZone;
     }
-    public void setPutawayRule(String putawayRule) 
+    public void setPutawayRule(String putawayRule)
     {
         this.putawayRule = putawayRule;
     }
 
-    public String getPutawayRule() 
+    public String getPutawayRule()
     {
         return putawayRule;
     }
-    public void setSkuHigh(BigDecimal skuHigh) 
+    public void setSkuHigh(BigDecimal skuHigh)
     {
         this.skuHigh = skuHigh;
     }
 
-    public BigDecimal getSkuHigh() 
+    public BigDecimal getSkuHigh()
     {
         return skuHigh;
     }
-    public void setSkuLength(BigDecimal skuLength) 
+    public void setSkuLength(BigDecimal skuLength)
     {
         this.skuLength = skuLength;
     }
 
-    public BigDecimal getSkuLength() 
+    public BigDecimal getSkuLength()
     {
         return skuLength;
     }
-    public void setSkuWidth(BigDecimal skuWidth) 
+    public void setSkuWidth(BigDecimal skuWidth)
     {
         this.skuWidth = skuWidth;
     }
 
-    public BigDecimal getSkuWidth() 
+    public BigDecimal getSkuWidth()
     {
         return skuWidth;
     }
-    public void setQtymax(BigDecimal qtymax) 
+    public void setQtymax(BigDecimal qtymax)
     {
         this.qtymax = qtymax;
     }
 
-    public BigDecimal getQtymax() 
+    public BigDecimal getQtymax()
     {
         return qtymax;
     }
-    public void setQtymin(BigDecimal qtymin) 
+    public void setQtymin(BigDecimal qtymin)
     {
         this.qtymin = qtymin;
     }
 
-    public BigDecimal getQtymin() 
+    public BigDecimal getQtymin()
     {
         return qtymin;
     }
-    public void setDefaultReceivingUom(String defaultReceivingUom) 
+    public void setDefaultReceivingUom(String defaultReceivingUom)
     {
         this.defaultReceivingUom = defaultReceivingUom;
     }
 
-    public String getDefaultReceivingUom() 
+    public String getDefaultReceivingUom()
     {
         return defaultReceivingUom;
     }
-    public void setDefaultShipmentUom(String defaultShipmentUom) 
+    public void setDefaultShipmentUom(String defaultShipmentUom)
     {
         this.defaultShipmentUom = defaultShipmentUom;
     }
 
-    public String getDefaultShipmentUom() 
+    public String getDefaultShipmentUom()
     {
         return defaultShipmentUom;
     }
-    public void setQcRule(String qcRule) 
+    public void setQcRule(String qcRule)
     {
         this.qcRule = qcRule;
     }
 
-    public String getQcRule() 
+    public String getQcRule()
     {
         return qcRule;
     }
-    public void setQcTime(BigDecimal qcTime) 
+    public void setQcTime(BigDecimal qcTime)
     {
         this.qcTime = qcTime;
     }
 
-    public BigDecimal getQcTime() 
+    public BigDecimal getQcTime()
     {
         return qcTime;
     }
-    public void setShelflife(Long shelflife) 
+    public void setShelflife(Long shelflife)
     {
         this.shelflife = shelflife;
     }
 
-    public Long getShelflife() 
+    public Long getShelflife()
     {
         return shelflife;
     }
-    public void setColdFlag(String coldFlag) 
+    public void setColdFlag(String coldFlag)
     {
         this.coldFlag = coldFlag;
     }
 
-    public String getColdFlag() 
+    public String getColdFlag()
     {
         return coldFlag;
     }
-    public void setSterilizationFlag(String sterilizationFlag) 
+    public void setSterilizationFlag(String sterilizationFlag)
     {
         this.sterilizationFlag = sterilizationFlag;
     }
 
-    public String getSterilizationFlag() 
+    public String getSterilizationFlag()
     {
         return sterilizationFlag;
     }
-    public void setCuringCycle(BigDecimal curingCycle) 
+    public void setCuringCycle(BigDecimal curingCycle)
     {
         this.curingCycle = curingCycle;
     }
 
-    public BigDecimal getCuringCycle() 
+    public BigDecimal getCuringCycle()
     {
         return curingCycle;
     }
-    public void setManufacturer(String manufacturer) 
+    public void setManufacturer(String manufacturer)
     {
         this.manufacturer = manufacturer;
     }
 
-    public String getManufacturer() 
+    public String getManufacturer()
     {
         return manufacturer;
     }
-    public void setUserdefine1(String userdefine1) 
+    public void setUserdefine1(String userdefine1)
     {
         this.userdefine1 = userdefine1;
     }
 
-    public String getUserdefine1() 
+    public String getUserdefine1()
     {
         return userdefine1;
     }
-    public void setUserdefine2(String userdefine2) 
+    public void setUserdefine2(String userdefine2)
     {
         this.userdefine2 = userdefine2;
     }
 
-    public String getUserdefine2() 
+    public String getUserdefine2()
     {
         return userdefine2;
     }
-    public void setUserdefine3(String userdefine3) 
+    public void setUserdefine3(String userdefine3)
     {
         this.userdefine3 = userdefine3;
     }
 
-    public String getUserdefine3() 
+    public String getUserdefine3()
     {
         return userdefine3;
     }
-    public void setUserdefine4(String userdefine4) 
+    public void setUserdefine4(String userdefine4)
     {
         this.userdefine4 = userdefine4;
     }
 
-    public String getUserdefine4() 
+    public String getUserdefine4()
     {
         return userdefine4;
     }
-    public void setUserdefine5(String userdefine5) 
+    public void setUserdefine5(String userdefine5)
     {
         this.userdefine5 = userdefine5;
     }
 
-    public String getUserdefine5() 
+    public String getUserdefine5()
     {
         return userdefine5;
     }
-    public void setUserdefine6(String userdefine6) 
+    public void setUserdefine6(String userdefine6)
     {
         this.userdefine6 = userdefine6;
     }
 
-    public String getUserdefine6() 
+    public String getUserdefine6()
     {
         return userdefine6;
     }
-    public void setUserdefine7(String userdefine7) 
+    public void setUserdefine7(String userdefine7)
     {
         this.userdefine7 = userdefine7;
     }
 
-    public String getUserdefine7() 
+    public String getUserdefine7()
     {
         return userdefine7;
     }
-    public void setUserdefine8(String userdefine8) 
+    public void setUserdefine8(String userdefine8)
     {
         this.userdefine8 = userdefine8;
     }
 
-    public String getUserdefine8() 
+    public String getUserdefine8()
     {
         return userdefine8;
     }
-    public void setUserdefine9(String userdefine9) 
+    public void setUserdefine9(String userdefine9)
     {
         this.userdefine9 = userdefine9;
     }
 
-    public String getUserdefine9() 
+    public String getUserdefine9()
     {
         return userdefine9;
     }
-    public void setUserdefine10(String userdefine10) 
+    public void setUserdefine10(String userdefine10)
     {
         this.userdefine10 = userdefine10;
     }
 
-    public String getUserdefine10() 
+    public String getUserdefine10()
     {
         return userdefine10;
     }
-    public void setExpirationDateCheck(String expirationDateCheck) 
+    public void setExpirationDateCheck(String expirationDateCheck)
     {
         this.expirationDateCheck = expirationDateCheck;
     }
 
-    public String getExpirationDateCheck() 
+    public String getExpirationDateCheck()
     {
         return expirationDateCheck;
     }
-    public void setOverchargeCheck(String overchargeCheck) 
+    public void setOverchargeCheck(String overchargeCheck)
     {
         this.overchargeCheck = overchargeCheck;
     }
 
-    public String getOverchargeCheck() 
+    public String getOverchargeCheck()
     {
         return overchargeCheck;
     }
-    public void setQcCheck(String qcCheck) 
+    public void setQcCheck(String qcCheck)
     {
         this.qcCheck = qcCheck;
     }
 
-    public String getQcCheck() 
+    public String getQcCheck()
     {
         return qcCheck;
     }