diff --git a/zhyc-module/pom.xml b/zhyc-module/pom.xml
index 78bc63d..e8c7837 100644
--- a/zhyc-module/pom.xml
+++ b/zhyc-module/pom.xml
@@ -17,11 +17,11 @@
zhyc
zhyc-common
+
- org.projectlombok
- lombok
- 1.18.38
- provided
+ com.baomidou
+ mybatis-plus-boot-starter
+ 3.5.3.2
org.projectlombok
diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/controller/AppVersionController.java b/zhyc-module/src/main/java/com/zhyc/module/app/controller/AppVersionController.java
new file mode 100755
index 0000000..8065202
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/app/controller/AppVersionController.java
@@ -0,0 +1,104 @@
+package com.zhyc.module.app.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhyc.common.annotation.Log;
+import com.zhyc.common.core.controller.BaseController;
+import com.zhyc.common.core.domain.AjaxResult;
+import com.zhyc.common.enums.BusinessType;
+import com.zhyc.module.app.domain.AppVersion;
+import com.zhyc.module.app.service.IAppVersionService;
+import com.zhyc.common.utils.poi.ExcelUtil;
+import com.zhyc.common.core.page.TableDataInfo;
+
+/**
+ * 应用版本信息Controller
+ *
+ * @author 漂泊
+ * @date 2025-12-09
+ */
+@RestController
+@RequestMapping("/app/version")
+public class AppVersionController extends BaseController
+{
+ @Autowired
+ private IAppVersionService appVersionService;
+
+ /**
+ * 查询应用版本信息列表
+ */
+// @PreAuthorize("@ss.hasPermi('app:version:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(AppVersion appVersion)
+ {
+ startPage();
+ List list = appVersionService.selectAppVersionList(appVersion);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出应用版本信息列表
+ */
+// @PreAuthorize("@ss.hasPermi('app:version:export')")
+ @Log(title = "应用版本信息", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, AppVersion appVersion)
+ {
+ List list = appVersionService.selectAppVersionList(appVersion);
+ ExcelUtil util = new ExcelUtil(AppVersion.class);
+ util.exportExcel(response, list, "应用版本信息数据");
+ }
+
+ /**
+ * 获取应用版本信息详细信息
+ */
+// @PreAuthorize("@ss.hasPermi('app:version:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return success(appVersionService.selectAppVersionById(id));
+ }
+
+ /**
+ * 新增应用版本信息
+ */
+// @PreAuthorize("@ss.hasPermi('app:version:add')")
+ @Log(title = "应用版本信息", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody AppVersion appVersion)
+ {
+ return toAjax(appVersionService.insertAppVersion(appVersion));
+ }
+
+ /**
+ * 修改应用版本信息
+ */
+// @PreAuthorize("@ss.hasPermi('app:version:edit')")
+ @Log(title = "应用版本信息", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody AppVersion appVersion)
+ {
+ return toAjax(appVersionService.updateAppVersion(appVersion));
+ }
+
+ /**
+ * 删除应用版本信息
+ */
+// @PreAuthorize("@ss.hasPermi('app:version:remove')")
+ @Log(title = "应用版本信息", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(appVersionService.deleteAppVersionByIds(ids));
+ }
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/domain/AppVersion.java b/zhyc-module/src/main/java/com/zhyc/module/app/domain/AppVersion.java
new file mode 100755
index 0000000..def2ab2
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/app/domain/AppVersion.java
@@ -0,0 +1,82 @@
+package com.zhyc.module.app.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.zhyc.common.annotation.Excel;
+import com.zhyc.common.core.domain.BaseEntity;
+
+/**
+ * 应用版本信息对象 app_version
+ *
+ * @author ruoyi
+ * @date 2025-12-09
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class AppVersion extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键ID */
+ private Long id;
+
+ /** 平台类型 */
+ @Excel(name = "平台类型")
+ private String platform;
+
+ /** 版本代码(用于比较的数字,如1000) */
+ @Excel(name = "版本代码", readConverterExp = "用=于比较的数字,如1000")
+ private Long versionCode;
+
+ /** 版本名称(如1.0.0) */
+ @Excel(name = "版本名称", readConverterExp = "如=1.0.0")
+ private String versionName;
+
+ /** 是否强制更新(0否,1是) */
+ @Excel(name = "是否强制更新", readConverterExp = "0=否,1是")
+ private Integer isForceUpdate;
+
+ /** 是否最新版本 */
+ @Excel(name = "是否最新版本")
+ private Integer isLatest;
+
+ /** 最小兼容版本 */
+ @Excel(name = "最小兼容版本")
+ private Long minVersionCode;
+
+ /** 下载地址 */
+ @Excel(name = "下载地址")
+ private String downloadUrl;
+
+ /** 更新标题 */
+ @Excel(name = "更新标题")
+ private String updateTitle;
+
+ /** 更新内容 */
+ @Excel(name = "更新内容")
+ private String updateContent;
+
+ /** 文件大小(字节) */
+ @Excel(name = "文件大小", readConverterExp = "字=节")
+ private Long fileSize;
+
+ /** 文件MD5 */
+ @Excel(name = "文件MD5")
+ private String md5Hash;
+
+ /** 发布时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date publishTime;
+
+ /** 是否删除 */
+ @Excel(name = "是否删除")
+ private Integer isDeleted;
+
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/mapper/AppVersionMapper.java b/zhyc-module/src/main/java/com/zhyc/module/app/mapper/AppVersionMapper.java
new file mode 100755
index 0000000..e9b1389
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/app/mapper/AppVersionMapper.java
@@ -0,0 +1,63 @@
+package com.zhyc.module.app.mapper;
+
+import java.util.List;
+import com.zhyc.module.app.domain.AppVersion;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 应用版本信息Mapper接口
+ *
+ * @author ruoyi
+ * @date 2025-12-09
+ */
+@Mapper
+public interface AppVersionMapper
+{
+ /**
+ * 查询应用版本信息
+ *
+ * @param id 应用版本信息主键
+ * @return 应用版本信息
+ */
+ public AppVersion selectAppVersionById(Long id);
+
+ /**
+ * 查询应用版本信息列表
+ *
+ * @param appVersion 应用版本信息
+ * @return 应用版本信息集合
+ */
+ public List selectAppVersionList(AppVersion appVersion);
+
+ /**
+ * 新增应用版本信息
+ *
+ * @param appVersion 应用版本信息
+ * @return 结果
+ */
+ public int insertAppVersion(AppVersion appVersion);
+
+ /**
+ * 修改应用版本信息
+ *
+ * @param appVersion 应用版本信息
+ * @return 结果
+ */
+ public int updateAppVersion(AppVersion appVersion);
+
+ /**
+ * 删除应用版本信息
+ *
+ * @param id 应用版本信息主键
+ * @return 结果
+ */
+ public int deleteAppVersionById(Long id);
+
+ /**
+ * 批量删除应用版本信息
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteAppVersionByIds(Long[] ids);
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/service/IAppVersionService.java b/zhyc-module/src/main/java/com/zhyc/module/app/service/IAppVersionService.java
new file mode 100755
index 0000000..7797d56
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/app/service/IAppVersionService.java
@@ -0,0 +1,61 @@
+package com.zhyc.module.app.service;
+
+import java.util.List;
+import com.zhyc.module.app.domain.AppVersion;
+
+/**
+ * 应用版本信息Service接口
+ *
+ * @author ruoyi
+ * @date 2025-12-09
+ */
+public interface IAppVersionService
+{
+ /**
+ * 查询应用版本信息
+ *
+ * @param id 应用版本信息主键
+ * @return 应用版本信息
+ */
+ public AppVersion selectAppVersionById(Long id);
+
+ /**
+ * 查询应用版本信息列表
+ *
+ * @param appVersion 应用版本信息
+ * @return 应用版本信息集合
+ */
+ public List selectAppVersionList(AppVersion appVersion);
+
+ /**
+ * 新增应用版本信息
+ *
+ * @param appVersion 应用版本信息
+ * @return 结果
+ */
+ public int insertAppVersion(AppVersion appVersion);
+
+ /**
+ * 修改应用版本信息
+ *
+ * @param appVersion 应用版本信息
+ * @return 结果
+ */
+ public int updateAppVersion(AppVersion appVersion);
+
+ /**
+ * 批量删除应用版本信息
+ *
+ * @param ids 需要删除的应用版本信息主键集合
+ * @return 结果
+ */
+ public int deleteAppVersionByIds(Long[] ids);
+
+ /**
+ * 删除应用版本信息信息
+ *
+ * @param id 应用版本信息主键
+ * @return 结果
+ */
+ public int deleteAppVersionById(Long id);
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/app/service/impl/AppVersionServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/app/service/impl/AppVersionServiceImpl.java
new file mode 100755
index 0000000..247067c
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/app/service/impl/AppVersionServiceImpl.java
@@ -0,0 +1,96 @@
+package com.zhyc.module.app.service.impl;
+
+import java.util.List;
+import com.zhyc.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.zhyc.module.app.mapper.AppVersionMapper;
+import com.zhyc.module.app.domain.AppVersion;
+import com.zhyc.module.app.service.IAppVersionService;
+
+/**
+ * 应用版本信息Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2025-12-09
+ */
+@Service
+public class AppVersionServiceImpl implements IAppVersionService
+{
+ @Autowired
+ private AppVersionMapper appVersionMapper;
+
+ /**
+ * 查询应用版本信息
+ *
+ * @param id 应用版本信息主键
+ * @return 应用版本信息
+ */
+ @Override
+ public AppVersion selectAppVersionById(Long id)
+ {
+ return appVersionMapper.selectAppVersionById(id);
+ }
+
+ /**
+ * 查询应用版本信息列表
+ *
+ * @param appVersion 应用版本信息
+ * @return 应用版本信息
+ */
+ @Override
+ public List selectAppVersionList(AppVersion appVersion)
+ {
+ return appVersionMapper.selectAppVersionList(appVersion);
+ }
+
+ /**
+ * 新增应用版本信息
+ *
+ * @param appVersion 应用版本信息
+ * @return 结果
+ */
+ @Override
+ public int insertAppVersion(AppVersion appVersion)
+ {
+ appVersion.setCreateTime(DateUtils.getNowDate());
+ return appVersionMapper.insertAppVersion(appVersion);
+ }
+
+ /**
+ * 修改应用版本信息
+ *
+ * @param appVersion 应用版本信息
+ * @return 结果
+ */
+ @Override
+ public int updateAppVersion(AppVersion appVersion)
+ {
+ appVersion.setUpdateTime(DateUtils.getNowDate());
+ return appVersionMapper.updateAppVersion(appVersion);
+ }
+
+ /**
+ * 批量删除应用版本信息
+ *
+ * @param ids 需要删除的应用版本信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteAppVersionByIds(Long[] ids)
+ {
+ return appVersionMapper.deleteAppVersionByIds(ids);
+ }
+
+ /**
+ * 删除应用版本信息信息
+ *
+ * @param id 应用版本信息主键
+ * @return 结果
+ */
+ @Override
+ public int deleteAppVersionById(Long id)
+ {
+ return appVersionMapper.deleteAppVersionById(id);
+ }
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/frozen/controller/DdFeController.java b/zhyc-module/src/main/java/com/zhyc/module/frozen/controller/DdFeController.java
index 979b92c..3c8c9c4 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/frozen/controller/DdFeController.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/frozen/controller/DdFeController.java
@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse;
import com.zhyc.common.utils.SecurityUtils;
import com.zhyc.common.utils.StringUtils;
+import com.zhyc.module.frozen.mapper.DdFeMapper;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -20,24 +21,24 @@ import com.zhyc.common.core.page.TableDataInfo;
/**
* 冻胚库存Controller
- *
+ *
* @author ruoyi
* @date 2025-11-29
*/
@RestController
@RequestMapping("/frozen/embryo")
-public class DdFeController extends BaseController
-{
+public class DdFeController extends BaseController {
@Autowired
private IDdFeService ddFeService;
+ @Autowired
+ private DdFeMapper ddFeMapper;
/**
* 查询冻胚库存列表
*/
@PreAuthorize("@ss.hasPermi('frozen:embryo:list')")
@GetMapping("/list")
- public TableDataInfo list(DdFe ddFe)
- {
+ public TableDataInfo list(DdFe ddFe) {
startPage();
List list = ddFeService.selectDdFeList(ddFe);
return getDataTable(list);
@@ -49,8 +50,7 @@ public class DdFeController extends BaseController
@PreAuthorize("@ss.hasPermi('frozen:embryo:export')")
@Log(title = "冻胚库存", businessType = BusinessType.EXPORT)
@PostMapping("/export")
- public void export(HttpServletResponse response, DdFe ddFe)
- {
+ public void export(HttpServletResponse response, DdFe ddFe) {
List list = ddFeService.selectDdFeList(ddFe);
ExcelUtil util = new ExcelUtil(DdFe.class);
util.exportExcel(response, list, "冻胚库存数据");
@@ -61,8 +61,7 @@ public class DdFeController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('frozen:embryo:query')")
@GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") Long id)
- {
+ public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(ddFeService.selectDdFeById(id));
}
@@ -72,8 +71,7 @@ public class DdFeController extends BaseController
@PreAuthorize("@ss.hasPermi('frozen:embryo:add')")
@Log(title = "冻胚库存", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@RequestBody DdFe ddFe)
- {
+ public AjaxResult add(@RequestBody DdFe ddFe) {
ddFe.setCreateBy(SecurityUtils.getUsername());
return toAjax(ddFeService.insertDdFe(ddFe));
}
@@ -84,8 +82,7 @@ public class DdFeController extends BaseController
@PreAuthorize("@ss.hasPermi('frozen:embryo:edit')")
@Log(title = "冻胚库存", businessType = BusinessType.UPDATE)
@PutMapping
- public AjaxResult edit(@RequestBody DdFe ddFe)
- {
+ public AjaxResult edit(@RequestBody DdFe ddFe) {
return toAjax(ddFeService.updateDdFe(ddFe));
}
@@ -94,9 +91,8 @@ public class DdFeController extends BaseController
*/
@PreAuthorize("@ss.hasPermi('frozen:embryo:remove')")
@Log(title = "冻胚库存", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public AjaxResult remove(@PathVariable Long[] ids)
- {
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(ddFeService.deleteDdFeByIds(ids));
}
@@ -126,13 +122,26 @@ public class DdFeController extends BaseController
Integer qty;
switch (grade) {
- case "A": qty = (Integer) flush.getOrDefault("gradeA", 0); break;
- case "B": qty = (Integer) flush.getOrDefault("gradeB", 0); break;
- case "C": qty = (Integer) flush.getOrDefault("gradeC", 0); break;
- case "D": qty = (Integer) flush.getOrDefault("gradeD", 0); break;
- case "囊胚": qty = (Integer) flush.getOrDefault("cell24", 0); break;
- case "桑椹胚": qty = (Integer) flush.getOrDefault("cell8", 0); break;
- default: qty = 0;
+ case "A":
+ qty = (Integer) flush.getOrDefault("gradeA", 0);
+ break;
+ case "B":
+ qty = (Integer) flush.getOrDefault("gradeB", 0);
+ break;
+ case "C":
+ qty = (Integer) flush.getOrDefault("gradeC", 0);
+ break;
+ case "D":
+ qty = (Integer) flush.getOrDefault("gradeD", 0);
+ break;
+ case "囊胚":
+ qty = (Integer) flush.getOrDefault("cell24", 0);
+ break;
+ case "桑椹胚":
+ qty = (Integer) flush.getOrDefault("cell8", 0);
+ break;
+ default:
+ qty = 0;
}
return success(qty);
}
@@ -153,4 +162,10 @@ public class DdFeController extends BaseController
});
return success();
}
+
+ // 唯一性校验
+ @GetMapping("/checkCode")
+ public AjaxResult exist(@RequestParam String code) {
+ return success(ddFeMapper.existsByCode(code) > 0);
+ }
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/frozen/mapper/DdFeMapper.java b/zhyc-module/src/main/java/com/zhyc/module/frozen/mapper/DdFeMapper.java
index ded9e82..1e5c4a1 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/frozen/mapper/DdFeMapper.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/frozen/mapper/DdFeMapper.java
@@ -72,4 +72,6 @@ public interface DdFeMapper
* 废弃更新(只改状态、出库日期、废弃原因、更新人)
*/
int updateDiscard(DdFe dto);
+ // 唯一性校验
+ int existsByCode(@Param("code") String code);
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/frozen/service/impl/DdFeServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/frozen/service/impl/DdFeServiceImpl.java
index 306a8e6..1165680 100644
--- a/zhyc-module/src/main/java/com/zhyc/module/frozen/service/impl/DdFeServiceImpl.java
+++ b/zhyc-module/src/main/java/com/zhyc/module/frozen/service/impl/DdFeServiceImpl.java
@@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import com.zhyc.common.exception.ServiceException;
import com.zhyc.common.utils.DateUtils;
import com.zhyc.common.utils.StringUtils;
import com.zhyc.module.produce.breed.domain.ScEmbryoFlush;
@@ -65,6 +66,9 @@ public class DdFeServiceImpl implements IDdFeService
@Override
public int insertDdFe(DdFe ddFe)
{
+ if (ddFeMapper.existsByCode(ddFe.getCode()) > 0) {
+ throw new ServiceException("胚胎编号已存在,请勿重复录入");
+ }
ddFe.setCreateTime(DateUtils.getNowDate());
return ddFeMapper.insertDdFe(ddFe);
}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/work/controller/WorkOrderController.java b/zhyc-module/src/main/java/com/zhyc/module/work/controller/WorkOrderController.java
new file mode 100644
index 0000000..e50ad0a
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/work/controller/WorkOrderController.java
@@ -0,0 +1,105 @@
+package com.zhyc.module.work.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.zhyc.module.work.domain.WorkOrder;
+import com.zhyc.module.work.service.IWorkOrderService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhyc.common.annotation.Log;
+import com.zhyc.common.core.controller.BaseController;
+import com.zhyc.common.core.domain.AjaxResult;
+import com.zhyc.common.enums.BusinessType;
+import com.zhyc.common.utils.poi.ExcelUtil;
+import com.zhyc.common.core.page.TableDataInfo;
+
+/**
+ * 派工单Controller
+ *
+ * @author piaobo
+ * @date 2025-12-07
+ */
+@RestController
+@RequestMapping("/work/work")
+public class WorkOrderController extends BaseController
+{
+ @Autowired
+ private IWorkOrderService workOrderService;
+
+ /**
+ * 查询派工单列表
+ */
+ @PreAuthorize("@ss.hasPermi('work:work:list')")
+ @GetMapping("/list")
+ public TableDataInfo list(WorkOrder workOrder)
+ {
+ startPage();
+ List list = workOrderService.selectWorkOrderList(workOrder);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出派工单列表
+ */
+ @PreAuthorize("@ss.hasPermi('work:work:export')")
+ @Log(title = "派工单", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, WorkOrder workOrder)
+ {
+ List list = workOrderService.selectWorkOrderList(workOrder);
+ ExcelUtil util = new ExcelUtil(WorkOrder.class);
+ util.exportExcel(response, list, "派工单数据");
+ }
+
+ /**
+ * 获取派工单详细信息
+ */
+ @PreAuthorize("@ss.hasPermi('work:work:query')")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return success(workOrderService.selectWorkOrderById(id));
+ }
+
+ /**
+ * 新增派工单
+ */
+ @PreAuthorize("@ss.hasPermi('work:work:add')")
+ @Log(title = "派工单", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody WorkOrder workOrder)
+ {
+ return toAjax(workOrderService.insertWorkOrder(workOrder));
+ }
+
+ /**
+ * 修改派工单
+ */
+ @PreAuthorize("@ss.hasPermi('work:work:edit')")
+ @Log(title = "派工单", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody WorkOrder workOrder)
+ {
+ return toAjax(workOrderService.updateWorkOrder(workOrder));
+ }
+
+ /**
+ * 删除派工单
+ */
+ @PreAuthorize("@ss.hasPermi('work:work:remove')")
+ @Log(title = "派工单", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(workOrderService.deleteWorkOrderByIds(ids));
+ }
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/work/domain/LocationJson.java b/zhyc-module/src/main/java/com/zhyc/module/work/domain/LocationJson.java
new file mode 100644
index 0000000..393b2da
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/work/domain/LocationJson.java
@@ -0,0 +1,13 @@
+package com.zhyc.module.work.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+class LocationJson {
+ private Long id;
+ private String sheepfoldName;
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/work/domain/SheepJson.java b/zhyc-module/src/main/java/com/zhyc/module/work/domain/SheepJson.java
new file mode 100644
index 0000000..a1adcfd
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/work/domain/SheepJson.java
@@ -0,0 +1,13 @@
+package com.zhyc.module.work.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+ class SheepJson {
+ private Long id;
+ private String sheepNo;
+}
\ No newline at end of file
diff --git a/zhyc-module/src/main/java/com/zhyc/module/work/domain/WorkOrder.java b/zhyc-module/src/main/java/com/zhyc/module/work/domain/WorkOrder.java
new file mode 100644
index 0000000..a9c1aa9
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/work/domain/WorkOrder.java
@@ -0,0 +1,137 @@
+package com.zhyc.module.work.domain;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.zhyc.common.annotation.Excel;
+import com.zhyc.common.core.domain.BaseEntity;
+
+/**
+ * 派工单对象 work_order
+ *
+ * @author piaobo
+ * @date 2025-12-07
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class WorkOrder extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 派工单唯一主键,自增整数 */
+ private Long id;
+
+ /** 业务单号 */
+ @Excel(name = "业务单号")
+ private String orderNo;
+
+ /** 关联生产/免疫计划ID,无计划可空 */
+ @Excel(name = "关联生产/免疫计划ID,无计划可空")
+ private Long planId;
+
+ /** 业务类型:1免疫 2保健 3转群 4称重 5配种 6干奶 7淘汰 8消毒 9饲喂,必填 */
+ @Excel(name = "业务类型:1免疫 2保健 3转群 4称重 5配种 6干奶 7淘汰 8消毒 9饲喂,必填")
+ private Integer bizType;
+
+ /** 简短任务标 */
+ @Excel(name = "简短任务标")
+ private String title;
+
+ /** 任务详细要求及注意事项,可空 */
+ @Excel(name = "任务详细要求及注意事项,可空")
+ private String content;
+
+ /** 执行部门/班组,下拉选择,必填 */
+ @Excel(name = "执行部门/班组,下拉选择,必填")
+ private String department;
+
+ /** 执行人ID(多人用英文逗号),必填 */
+ @Excel(name = "执行人ID")
+ private String executorIds;
+
+// 执行人
+ @Excel(name = "执行人")
+ private String executor;
+
+ /** 计划执行日期,必填 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "计划执行日期,必填", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date executeDate;
+
+ /** 计划执行时段,可空 */
+ @Excel(name = "计划执行时段,可空")
+ private String executeTime;
+
+ /** 涉及羊只范围 */
+ @Excel(name = "涉及羊只范围")
+ @TableField(typeHandler = JacksonTypeHandler.class)
+ private List sheepScope;
+
+ /** 执行地点/栏舍 */
+ @Excel(name = "执行地点/栏舍")
+ @TableField(typeHandler = JacksonTypeHandler.class)
+ private List location;
+
+ /** 需领物料 */
+ @Excel(name = "需领物料")
+ private String materialList;
+
+ /** 需用设备 */
+ @Excel(name = "需用设备")
+ private String toolList;
+
+ /** 状态:0待派工 1已派工 2执行中 3已完成 4已取消 5异常,必填 */
+ @Excel(name = "状态:0待派工 1已派工 2执行中 3已完成 4已取消 5异常,必填")
+ private Integer status;
+
+ /** 优先级:1普通 2重要 3紧急,必填 */
+ @Excel(name = "优先级:1普通 2重要 3紧急,必填")
+ private Integer priority;
+
+ /** 派工人用户 */
+ @Excel(name = "派工人用户")
+ private Long issuerId;
+// 派工人
+ @Excel(name = "派工人")
+ private String issuer;
+
+ /** 派工时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "派工时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date issueTime;
+
+ /** 接工人用户 */
+ @Excel(name = "接工人用户")
+ private Long receiverId;
+// 接工人
+ @Excel(name = "接工人")
+ private String receiver;
+
+ /** 接工时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "接工时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date receiveTime;
+
+ /** 实际完成时间,可空 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "实际完成时间,可空", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date finishTime;
+
+ /** 执行结果填报,可空 */
+ @Excel(name = "执行结果填报,可空")
+ private String result;
+
+ /** 逻辑删除:0正常 1已删除,必填 */
+ private Integer deleted;
+
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/work/mapper/WorkOrderMapper.java b/zhyc-module/src/main/java/com/zhyc/module/work/mapper/WorkOrderMapper.java
new file mode 100644
index 0000000..76fb6d2
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/work/mapper/WorkOrderMapper.java
@@ -0,0 +1,63 @@
+package com.zhyc.module.work.mapper;
+
+import java.util.List;
+import com.zhyc.module.work.domain.WorkOrder;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 派工单Mapper接口
+ *
+ * @author piaobo
+ * @date 2025-12-07
+ */
+@Mapper
+public interface WorkOrderMapper
+{
+ /**
+ * 查询派工单
+ *
+ * @param id 派工单主键
+ * @return 派工单
+ */
+ public WorkOrder selectWorkOrderById(Long id);
+
+ /**
+ * 查询派工单列表
+ *
+ * @param workOrder 派工单
+ * @return 派工单集合
+ */
+ public List selectWorkOrderList(WorkOrder workOrder);
+
+ /**
+ * 新增派工单
+ *
+ * @param workOrder 派工单
+ * @return 结果
+ */
+ public int insertWorkOrder(WorkOrder workOrder);
+
+ /**
+ * 修改派工单
+ *
+ * @param workOrder 派工单
+ * @return 结果
+ */
+ public int updateWorkOrder(WorkOrder workOrder);
+
+ /**
+ * 删除派工单
+ *
+ * @param id 派工单主键
+ * @return 结果
+ */
+ public int deleteWorkOrderById(Long id);
+
+ /**
+ * 批量删除派工单
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteWorkOrderByIds(Long[] ids);
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/work/service/IWorkOrderService.java b/zhyc-module/src/main/java/com/zhyc/module/work/service/IWorkOrderService.java
new file mode 100644
index 0000000..8cd6054
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/work/service/IWorkOrderService.java
@@ -0,0 +1,61 @@
+package com.zhyc.module.work.service;
+
+import java.util.List;
+import com.zhyc.module.work.domain.WorkOrder;
+
+/**
+ * 派工单Service接口
+ *
+ * @author piaobo
+ * @date 2025-12-07
+ */
+public interface IWorkOrderService
+{
+ /**
+ * 查询派工单
+ *
+ * @param id 派工单主键
+ * @return 派工单
+ */
+ public WorkOrder selectWorkOrderById(Long id);
+
+ /**
+ * 查询派工单列表
+ *
+ * @param workOrder 派工单
+ * @return 派工单集合
+ */
+ public List selectWorkOrderList(WorkOrder workOrder);
+
+ /**
+ * 新增派工单
+ *
+ * @param workOrder 派工单
+ * @return 结果
+ */
+ public int insertWorkOrder(WorkOrder workOrder);
+
+ /**
+ * 修改派工单
+ *
+ * @param workOrder 派工单
+ * @return 结果
+ */
+ public int updateWorkOrder(WorkOrder workOrder);
+
+ /**
+ * 批量删除派工单
+ *
+ * @param ids 需要删除的派工单主键集合
+ * @return 结果
+ */
+ public int deleteWorkOrderByIds(Long[] ids);
+
+ /**
+ * 删除派工单信息
+ *
+ * @param id 派工单主键
+ * @return 结果
+ */
+ public int deleteWorkOrderById(Long id);
+}
diff --git a/zhyc-module/src/main/java/com/zhyc/module/work/service/impl/WorkOrderServiceImpl.java b/zhyc-module/src/main/java/com/zhyc/module/work/service/impl/WorkOrderServiceImpl.java
new file mode 100644
index 0000000..b5d4ba9
--- /dev/null
+++ b/zhyc-module/src/main/java/com/zhyc/module/work/service/impl/WorkOrderServiceImpl.java
@@ -0,0 +1,108 @@
+package com.zhyc.module.work.service.impl;
+
+import java.util.List;
+import com.zhyc.common.utils.DateUtils;
+import com.zhyc.common.utils.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.zhyc.module.work.mapper.WorkOrderMapper;
+import com.zhyc.module.work.domain.WorkOrder;
+import com.zhyc.module.work.service.IWorkOrderService;
+
+/**
+ * 派工单Service业务层处理
+ *
+ * @author piaobo
+ * @date 2025-12-07
+ */
+@Service
+public class WorkOrderServiceImpl implements IWorkOrderService
+{
+ @Autowired
+ private WorkOrderMapper workOrderMapper;
+
+ /**
+ * 查询派工单
+ *
+ * @param id 派工单主键
+ * @return 派工单
+ */
+ @Override
+ public WorkOrder selectWorkOrderById(Long id)
+ {
+ return workOrderMapper.selectWorkOrderById(id);
+ }
+
+ /**
+ * 查询派工单列表
+ *
+ * @param workOrder 派工单
+ * @return 派工单
+ */
+ @Override
+ public List selectWorkOrderList(WorkOrder workOrder)
+ {
+ String username = SecurityUtils.getLoginUser().getUser().getNickName();
+ return workOrderMapper.selectWorkOrderList(workOrder);
+ }
+
+ /**
+ * 新增派工单
+ *
+ * @param workOrder 派工单
+ * @return 结果
+ */
+ @Override
+ public int insertWorkOrder(WorkOrder workOrder)
+ {
+ String username = SecurityUtils.getLoginUser().getUser().getNickName();
+ Long usrId = SecurityUtils.getLoginUser().getUserId();
+ workOrder.setIssuer(username);
+ workOrder.setIssuerId(usrId);
+ workOrder.setCreateTime(DateUtils.getNowDate());
+ return workOrderMapper.insertWorkOrder(workOrder);
+ }
+
+ /**
+ * 修改派工单
+ *
+ * @param workOrder 派工单
+ * @return 结果
+ */
+ @Override
+ public int updateWorkOrder(WorkOrder workOrder)
+ {
+ if (workOrder.getStatus() != null && workOrder.getStatus()>3){
+ String username = SecurityUtils.getLoginUser().getUser().getNickName();
+ Long usrId = SecurityUtils.getLoginUser().getUserId();
+ workOrder.setIssuer(username);
+ workOrder.setIssuerId(usrId);
+ }
+ workOrder.setUpdateTime(DateUtils.getNowDate());
+ return workOrderMapper.updateWorkOrder(workOrder);
+ }
+
+ /**
+ * 批量删除派工单
+ *
+ * @param ids 需要删除的派工单主键
+ * @return 结果
+ */
+ @Override
+ public int deleteWorkOrderByIds(Long[] ids)
+ {
+ return workOrderMapper.deleteWorkOrderByIds(ids);
+ }
+
+ /**
+ * 删除派工单信息
+ *
+ * @param id 派工单主键
+ * @return 结果
+ */
+ @Override
+ public int deleteWorkOrderById(Long id)
+ {
+ return workOrderMapper.deleteWorkOrderById(id);
+ }
+}
diff --git a/zhyc-module/src/main/resources/mapper/app/AppVersionMapper.xml b/zhyc-module/src/main/resources/mapper/app/AppVersionMapper.xml
new file mode 100755
index 0000000..2806eb3
--- /dev/null
+++ b/zhyc-module/src/main/resources/mapper/app/AppVersionMapper.xml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, platform, version_code, version_name, is_force_update, is_latest, min_version_code, download_url, update_title, update_content, file_size, md5_hash, publish_time, create_time, update_time, is_deleted from app_version
+
+
+
+
+
+
+
+ insert into app_version
+
+ platform,
+ version_code,
+ version_name,
+ is_force_update,
+ is_latest,
+ min_version_code,
+ download_url,
+ update_title,
+ update_content,
+ file_size,
+ md5_hash,
+ publish_time,
+ create_time,
+ update_time,
+ is_deleted,
+
+
+ #{platform},
+ #{versionCode},
+ #{versionName},
+ #{isForceUpdate},
+ #{isLatest},
+ #{minVersionCode},
+ #{downloadUrl},
+ #{updateTitle},
+ #{updateContent},
+ #{fileSize},
+ #{md5Hash},
+ #{publishTime},
+ #{createTime},
+ #{updateTime},
+ #{isDeleted},
+
+
+
+
+ update app_version
+
+ platform = #{platform},
+ version_code = #{versionCode},
+ version_name = #{versionName},
+ is_force_update = #{isForceUpdate},
+ is_latest = #{isLatest},
+ min_version_code = #{minVersionCode},
+ download_url = #{downloadUrl},
+ update_title = #{updateTitle},
+ update_content = #{updateContent},
+ file_size = #{fileSize},
+ md5_hash = #{md5Hash},
+ publish_time = #{publishTime},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ is_deleted = #{isDeleted},
+
+ where id = #{id}
+
+
+
+ delete from app_version where id = #{id}
+
+
+
+ delete from app_version where id in
+
+ #{id}
+
+
+
\ No newline at end of file
diff --git a/zhyc-module/src/main/resources/mapper/frozen/DdFeMapper.xml b/zhyc-module/src/main/resources/mapper/frozen/DdFeMapper.xml
index 496d875..682d1f3 100644
--- a/zhyc-module/src/main/resources/mapper/frozen/DdFeMapper.xml
+++ b/zhyc-module/src/main/resources/mapper/frozen/DdFeMapper.xml
@@ -59,8 +59,10 @@
and code like concat('%', #{code}, '%')
and grade = #{grade}
and status = #{status}
- and tech = #{tech}
- and out_date = #{outDate}
+
+ AND tech LIKE CONCAT('%', #{tech}, '%')
+
+ and out_date = #{outDate}
and freeze_date between #{params.beginFreezeDate} and #{params.endFreezeDate}
@@ -164,23 +166,26 @@
UPDATE dd_fe
- SET status = #{status},
+ SET status = #{status},
discard_txt = #{discardTxt}
WHERE id = #{id}
+
+
\ No newline at end of file
diff --git a/zhyc-module/src/main/resources/mapper/work/WorkOrderMapper.xml b/zhyc-module/src/main/resources/mapper/work/WorkOrderMapper.xml
new file mode 100644
index 0000000..1472f35
--- /dev/null
+++ b/zhyc-module/src/main/resources/mapper/work/WorkOrderMapper.xml
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select id, order_no, plan_id, biz_type, title, content, department, executor_ids,executor, execute_date, execute_time, sheep_scope, location, material_list, tool_list, status, priority, issuer_id, issuer,issue_time, receiver_id, receiver,receive_time, finish_time, result, remark, create_time, update_time, deleted from work_order
+
+
+
+
+
+
+
+ insert into work_order
+
+ order_no,
+ plan_id,
+ biz_type,
+ title,
+ content,
+ department,
+ executor_ids,
+ executor,
+ execute_date,
+ execute_time,
+ sheep_scope,
+ location,
+ material_list,
+ tool_list,
+ status,
+ priority,
+ issuer_id,
+ issuer,
+ issue_time,
+ receiver_id,
+ receiver,
+ receive_time,
+ finish_time,
+ `result`,
+ remark,
+ create_time,
+ update_time,
+ deleted,
+
+
+ #{orderNo},
+ #{planId},
+ #{bizType},
+ #{title},
+ #{content},
+ #{department},
+ #{executorIds},
+ #{executor},
+ #{executeDate},
+ #{executeTime},
+ #{sheepScope,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
+ #{location,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
+ #{materialList},
+ #{toolList},
+ #{status},
+ #{priority},
+ #{issuerId},
+ #{issuer},
+ #{issueTime},
+ #{receiverId},
+ #{receiver},
+ #{receiveTime},
+ #{finishTime},
+ #{result},
+ #{remark},
+ #{createTime},
+ #{updateTime},
+ #{deleted},
+
+
+
+
+ update work_order
+
+ order_no = #{orderNo},
+ plan_id = #{planId},
+ biz_type = #{bizType},
+ title = #{title},
+ content = #{content},
+ department = #{department},
+ executor_ids = #{executorIds},
+ executor = #{executor},
+ execute_date = #{executeDate},
+ execute_time = #{executeTime},
+ sheep_scope = #{sheepScope,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
+ location = #{location,typeHandler=com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler},
+ material_list = #{materialList},
+ tool_list = #{toolList},
+ status = #{status},
+ priority = #{priority},
+ issuer_id = #{issuerId},
+ issuer = #{issuer},
+ issue_time = #{issueTime},
+ receiver_id = #{receiverId},
+ receiver = #{receiver},
+ receive_time = #{receiveTime},
+ finish_time = #{finishTime},
+ `result` = #{result},
+ remark = #{remark},
+ create_time = #{createTime},
+ update_time = #{updateTime},
+ deleted = #{deleted},
+
+ where id = #{id}
+
+
+
+ delete from work_order where id = #{id}
+
+
+
+ delete from work_order where id in
+
+ #{id}
+
+
+
\ No newline at end of file