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