From 4d6d670bf486b8669915c1b18b4c8651e7128e9e Mon Sep 17 00:00:00 2001 From: wenshijun Date: Mon, 9 Jun 2025 15:16:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=A8=A1=E5=9D=97=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ConstructionTeamController.java | 106 +++++++++++ .../controller/StockOutTypeController.java | 104 +++++++++++ .../information/domain/ConstructionTeam.java | 146 +++++++++++++++ .../information/domain/StockOutType.java | 146 +++++++++++++++ .../mapper/ConstructionTeamMapper.java | 61 +++++++ .../mapper/StockOutTypeMapper.java | 61 +++++++ .../service/IConstructionTeamService.java | 61 +++++++ .../service/IStockOutTypeService.java | 61 +++++++ .../impl/ConstructionTeamServiceImpl.java | 93 ++++++++++ .../service/impl/StockOutTypeServiceImpl.java | 93 ++++++++++ .../wisdom/controller/RkBillController.java | 88 +++++++++ .../wisdom/controller/RkInfoController.java | 33 +++- .../controller/app/AppRkInfoController.java | 39 +++- .../com/zg/project/wisdom/domain/RkBill.java | 171 ++++++++++++++++++ .../com/zg/project/wisdom/domain/RkInfo.java | 112 +++++++++++- .../wisdom/domain/dto/StockOutDTO.java | 82 +++++++++ .../zg/project/wisdom/mapper/GysJhMapper.java | 6 + .../project/wisdom/mapper/RkBillMapper.java | 36 ++++ .../project/wisdom/mapper/RkInfoMapper.java | 33 ++++ .../wisdom/service/IRkBillService.java | 13 ++ .../wisdom/service/IRkInfoService.java | 29 +++ .../service/impl/RkBillServiceImpl.java | 41 +++++ .../service/impl/RkInfoServiceImpl.java | 139 ++++++++++++-- .../zg/project/wisdom/utils/BillNoUtil.java | 13 ++ .../{util => utils}/CodeConvertUtil.java | 2 +- src/main/resources/application-druid.yml | 4 +- .../information/ConstructionTeamMapper.xml | 86 +++++++++ .../information/StockOutTypeMapper.xml | 86 +++++++++ .../resources/mybatis/wisdom/GysJhMapper.xml | 8 + .../resources/mybatis/wisdom/RkBillMapper.xml | 105 +++++++++++ .../resources/mybatis/wisdom/RkInfoMapper.xml | 95 ++++++++-- 31 files changed, 2123 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/zg/project/information/controller/ConstructionTeamController.java create mode 100644 src/main/java/com/zg/project/information/controller/StockOutTypeController.java create mode 100644 src/main/java/com/zg/project/information/domain/ConstructionTeam.java create mode 100644 src/main/java/com/zg/project/information/domain/StockOutType.java create mode 100644 src/main/java/com/zg/project/information/mapper/ConstructionTeamMapper.java create mode 100644 src/main/java/com/zg/project/information/mapper/StockOutTypeMapper.java create mode 100644 src/main/java/com/zg/project/information/service/IConstructionTeamService.java create mode 100644 src/main/java/com/zg/project/information/service/IStockOutTypeService.java create mode 100644 src/main/java/com/zg/project/information/service/impl/ConstructionTeamServiceImpl.java create mode 100644 src/main/java/com/zg/project/information/service/impl/StockOutTypeServiceImpl.java create mode 100644 src/main/java/com/zg/project/wisdom/controller/RkBillController.java create mode 100644 src/main/java/com/zg/project/wisdom/domain/RkBill.java create mode 100644 src/main/java/com/zg/project/wisdom/domain/dto/StockOutDTO.java create mode 100644 src/main/java/com/zg/project/wisdom/mapper/RkBillMapper.java create mode 100644 src/main/java/com/zg/project/wisdom/service/IRkBillService.java create mode 100644 src/main/java/com/zg/project/wisdom/service/impl/RkBillServiceImpl.java create mode 100644 src/main/java/com/zg/project/wisdom/utils/BillNoUtil.java rename src/main/java/com/zg/project/wisdom/{util => utils}/CodeConvertUtil.java (97%) create mode 100644 src/main/resources/mybatis/information/ConstructionTeamMapper.xml create mode 100644 src/main/resources/mybatis/information/StockOutTypeMapper.xml create mode 100644 src/main/resources/mybatis/wisdom/RkBillMapper.xml diff --git a/src/main/java/com/zg/project/information/controller/ConstructionTeamController.java b/src/main/java/com/zg/project/information/controller/ConstructionTeamController.java new file mode 100644 index 0000000..9c550e9 --- /dev/null +++ b/src/main/java/com/zg/project/information/controller/ConstructionTeamController.java @@ -0,0 +1,106 @@ +package com.zg.project.information.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.zg.framework.aspectj.lang.annotation.Log; +import com.zg.framework.aspectj.lang.enums.BusinessType; +import com.zg.project.information.domain.ConstructionTeam; +import com.zg.project.information.service.IConstructionTeamService; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.common.utils.poi.ExcelUtil; +import com.zg.framework.web.page.TableDataInfo; + +/** + * 施工队信息Controller + * + * @author zg + * @date 2025-06-09 + */ +@RestController +@RequestMapping("/information/construction") +public class ConstructionTeamController extends BaseController +{ + @Autowired + private IConstructionTeamService constructionTeamService; + + /** + * 查询施工队信息列表 + */ + @PreAuthorize("@ss.hasPermi('information:construction:list')") + @GetMapping("/list") + public TableDataInfo list(ConstructionTeam constructionTeam) + { + startPage(); + List list = constructionTeamService.selectConstructionTeamList(constructionTeam); + return getDataTable(list); + } + + /** + * 导出施工队信息列表 + */ + @PreAuthorize("@ss.hasPermi('information:construction:export')") + @Log(title = "施工队信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ConstructionTeam constructionTeam) + { + List list = constructionTeamService.selectConstructionTeamList(constructionTeam); + ExcelUtil util = new ExcelUtil(ConstructionTeam.class); + util.exportExcel(response, list, "施工队信息数据"); + } + + /** + * 获取施工队信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('information:construction:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(constructionTeamService.selectConstructionTeamById(id)); + } + + /** + * 新增施工队信息 + */ + @PreAuthorize("@ss.hasPermi('information:construction:add')") + @Log(title = "施工队信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ConstructionTeam constructionTeam) + { + return toAjax(constructionTeamService.insertConstructionTeam(constructionTeam)); + } + + /** + * 修改施工队信息 + */ + @PreAuthorize("@ss.hasPermi('information:construction:edit')") + @Log(title = "施工队信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ConstructionTeam constructionTeam) + { + return toAjax(constructionTeamService.updateConstructionTeam(constructionTeam)); + } + + /** + * 删除施工队信息 + */ + @PreAuthorize("@ss.hasPermi('information:construction:remove')") + @Log(title = "施工队信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(constructionTeamService.deleteConstructionTeamByIds(ids)); + } + + +} diff --git a/src/main/java/com/zg/project/information/controller/StockOutTypeController.java b/src/main/java/com/zg/project/information/controller/StockOutTypeController.java new file mode 100644 index 0000000..be3959e --- /dev/null +++ b/src/main/java/com/zg/project/information/controller/StockOutTypeController.java @@ -0,0 +1,104 @@ +package com.zg.project.information.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.zg.framework.aspectj.lang.annotation.Log; +import com.zg.framework.aspectj.lang.enums.BusinessType; +import com.zg.project.information.domain.StockOutType; +import com.zg.project.information.service.IStockOutTypeService; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.common.utils.poi.ExcelUtil; +import com.zg.framework.web.page.TableDataInfo; + +/** + * 出库类型Controller + * + * @author zg + * @date 2025-06-09 + */ +@RestController +@RequestMapping("/information/outtype") +public class StockOutTypeController extends BaseController +{ + @Autowired + private IStockOutTypeService stockOutTypeService; + + /** + * 查询出库类型列表 + */ + @PreAuthorize("@ss.hasPermi('information:outtype:list')") + @GetMapping("/list") + public TableDataInfo list(StockOutType stockOutType) + { + startPage(); + List list = stockOutTypeService.selectStockOutTypeList(stockOutType); + return getDataTable(list); + } + + /** + * 导出出库类型列表 + */ + @PreAuthorize("@ss.hasPermi('information:outtype:export')") + @Log(title = "出库类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, StockOutType stockOutType) + { + List list = stockOutTypeService.selectStockOutTypeList(stockOutType); + ExcelUtil util = new ExcelUtil(StockOutType.class); + util.exportExcel(response, list, "出库类型数据"); + } + + /** + * 获取出库类型详细信息 + */ + @PreAuthorize("@ss.hasPermi('information:outtype:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(stockOutTypeService.selectStockOutTypeById(id)); + } + + /** + * 新增出库类型 + */ + @PreAuthorize("@ss.hasPermi('information:outtype:add')") + @Log(title = "出库类型", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody StockOutType stockOutType) + { + return toAjax(stockOutTypeService.insertStockOutType(stockOutType)); + } + + /** + * 修改出库类型 + */ + @PreAuthorize("@ss.hasPermi('information:outtype:edit')") + @Log(title = "出库类型", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody StockOutType stockOutType) + { + return toAjax(stockOutTypeService.updateStockOutType(stockOutType)); + } + + /** + * 删除出库类型 + */ + @PreAuthorize("@ss.hasPermi('information:outtype:remove')") + @Log(title = "出库类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(stockOutTypeService.deleteStockOutTypeByIds(ids)); + } +} diff --git a/src/main/java/com/zg/project/information/domain/ConstructionTeam.java b/src/main/java/com/zg/project/information/domain/ConstructionTeam.java new file mode 100644 index 0000000..8a22353 --- /dev/null +++ b/src/main/java/com/zg/project/information/domain/ConstructionTeam.java @@ -0,0 +1,146 @@ +package com.zg.project.information.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zg.framework.aspectj.lang.annotation.Excel; +import com.zg.framework.web.domain.BaseEntity; + +/** + * 施工队信息对象 construction_team + * + * @author zg + * @date 2025-06-09 + */ +public class ConstructionTeam extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 施工队名称 */ + @Excel(name = "施工队名称") + private String teamName; + + /** 施工队编号 */ + @Excel(name = "施工队编号") + private String teamCode; + + /** 创建人 */ + @Excel(name = "创建人") + private String createdBy; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdAt; + + /** 修改人 */ + @Excel(name = "修改人") + private String updatedBy; + + /** 修改时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updatedAt; + + /** 是否删除(0正常 1删除) */ + @Excel(name = "是否删除", readConverterExp = "0=正常,1=删除") + private String isDelete; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setTeamName(String teamName) + { + this.teamName = teamName; + } + + public String getTeamName() + { + return teamName; + } + + public void setTeamCode(String teamCode) + { + this.teamCode = teamCode; + } + + public String getTeamCode() + { + return teamCode; + } + + public void setCreatedBy(String createdBy) + { + this.createdBy = createdBy; + } + + public String getCreatedBy() + { + return createdBy; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedBy(String updatedBy) + { + this.updatedBy = updatedBy; + } + + public String getUpdatedBy() + { + return updatedBy; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + public void setIsDelete(String isDelete) + { + this.isDelete = isDelete; + } + + public String getIsDelete() + { + return isDelete; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("teamName", getTeamName()) + .append("teamCode", getTeamCode()) + .append("createdBy", getCreatedBy()) + .append("createdAt", getCreatedAt()) + .append("updatedBy", getUpdatedBy()) + .append("updatedAt", getUpdatedAt()) + .append("isDelete", getIsDelete()) + .toString(); + } +} diff --git a/src/main/java/com/zg/project/information/domain/StockOutType.java b/src/main/java/com/zg/project/information/domain/StockOutType.java new file mode 100644 index 0000000..ee38d31 --- /dev/null +++ b/src/main/java/com/zg/project/information/domain/StockOutType.java @@ -0,0 +1,146 @@ +package com.zg.project.information.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.zg.framework.aspectj.lang.annotation.Excel; +import com.zg.framework.web.domain.BaseEntity; + +/** + * 出库类型对象 stock_out_type + * + * @author zg + * @date 2025-06-09 + */ +public class StockOutType extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 出库类型名称 */ + @Excel(name = "出库类型名称") + private String ckTypeName; + + /** 出库类型编号 */ + @Excel(name = "出库类型编号") + private String ckTypeCode; + + /** 创建人 */ + @Excel(name = "创建人") + private String createdBy; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdAt; + + /** 修改人 */ + @Excel(name = "修改人") + private String updatedBy; + + /** 修改时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updatedAt; + + /** 是否删除(0正常 1删除) */ + @Excel(name = "是否删除", readConverterExp = "0=正常,1=删除") + private String isDelete; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setCkTypeName(String ckTypeName) + { + this.ckTypeName = ckTypeName; + } + + public String getCkTypeName() + { + return ckTypeName; + } + + public void setCkTypeCode(String ckTypeCode) + { + this.ckTypeCode = ckTypeCode; + } + + public String getCkTypeCode() + { + return ckTypeCode; + } + + public void setCreatedBy(String createdBy) + { + this.createdBy = createdBy; + } + + public String getCreatedBy() + { + return createdBy; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedBy(String updatedBy) + { + this.updatedBy = updatedBy; + } + + public String getUpdatedBy() + { + return updatedBy; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + public void setIsDelete(String isDelete) + { + this.isDelete = isDelete; + } + + public String getIsDelete() + { + return isDelete; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("ckTypeName", getCkTypeName()) + .append("ckTypeCode", getCkTypeCode()) + .append("createdBy", getCreatedBy()) + .append("createdAt", getCreatedAt()) + .append("updatedBy", getUpdatedBy()) + .append("updatedAt", getUpdatedAt()) + .append("isDelete", getIsDelete()) + .toString(); + } +} diff --git a/src/main/java/com/zg/project/information/mapper/ConstructionTeamMapper.java b/src/main/java/com/zg/project/information/mapper/ConstructionTeamMapper.java new file mode 100644 index 0000000..b93ad6e --- /dev/null +++ b/src/main/java/com/zg/project/information/mapper/ConstructionTeamMapper.java @@ -0,0 +1,61 @@ +package com.zg.project.information.mapper; + +import java.util.List; +import com.zg.project.information.domain.ConstructionTeam; + +/** + * 施工队信息Mapper接口 + * + * @author zg + * @date 2025-06-09 + */ +public interface ConstructionTeamMapper +{ + /** + * 查询施工队信息 + * + * @param id 施工队信息主键 + * @return 施工队信息 + */ + public ConstructionTeam selectConstructionTeamById(Long id); + + /** + * 查询施工队信息列表 + * + * @param constructionTeam 施工队信息 + * @return 施工队信息集合 + */ + public List selectConstructionTeamList(ConstructionTeam constructionTeam); + + /** + * 新增施工队信息 + * + * @param constructionTeam 施工队信息 + * @return 结果 + */ + public int insertConstructionTeam(ConstructionTeam constructionTeam); + + /** + * 修改施工队信息 + * + * @param constructionTeam 施工队信息 + * @return 结果 + */ + public int updateConstructionTeam(ConstructionTeam constructionTeam); + + /** + * 删除施工队信息 + * + * @param id 施工队信息主键 + * @return 结果 + */ + public int deleteConstructionTeamById(Long id); + + /** + * 批量删除施工队信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteConstructionTeamByIds(Long[] ids); +} diff --git a/src/main/java/com/zg/project/information/mapper/StockOutTypeMapper.java b/src/main/java/com/zg/project/information/mapper/StockOutTypeMapper.java new file mode 100644 index 0000000..570794d --- /dev/null +++ b/src/main/java/com/zg/project/information/mapper/StockOutTypeMapper.java @@ -0,0 +1,61 @@ +package com.zg.project.information.mapper; + +import java.util.List; +import com.zg.project.information.domain.StockOutType; + +/** + * 出库类型Mapper接口 + * + * @author zg + * @date 2025-06-09 + */ +public interface StockOutTypeMapper +{ + /** + * 查询出库类型 + * + * @param id 出库类型主键 + * @return 出库类型 + */ + public StockOutType selectStockOutTypeById(Long id); + + /** + * 查询出库类型列表 + * + * @param stockOutType 出库类型 + * @return 出库类型集合 + */ + public List selectStockOutTypeList(StockOutType stockOutType); + + /** + * 新增出库类型 + * + * @param stockOutType 出库类型 + * @return 结果 + */ + public int insertStockOutType(StockOutType stockOutType); + + /** + * 修改出库类型 + * + * @param stockOutType 出库类型 + * @return 结果 + */ + public int updateStockOutType(StockOutType stockOutType); + + /** + * 删除出库类型 + * + * @param id 出库类型主键 + * @return 结果 + */ + public int deleteStockOutTypeById(Long id); + + /** + * 批量删除出库类型 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteStockOutTypeByIds(Long[] ids); +} diff --git a/src/main/java/com/zg/project/information/service/IConstructionTeamService.java b/src/main/java/com/zg/project/information/service/IConstructionTeamService.java new file mode 100644 index 0000000..bf85aa0 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/IConstructionTeamService.java @@ -0,0 +1,61 @@ +package com.zg.project.information.service; + +import java.util.List; +import com.zg.project.information.domain.ConstructionTeam; + +/** + * 施工队信息Service接口 + * + * @author zg + * @date 2025-06-09 + */ +public interface IConstructionTeamService +{ + /** + * 查询施工队信息 + * + * @param id 施工队信息主键 + * @return 施工队信息 + */ + public ConstructionTeam selectConstructionTeamById(Long id); + + /** + * 查询施工队信息列表 + * + * @param constructionTeam 施工队信息 + * @return 施工队信息集合 + */ + public List selectConstructionTeamList(ConstructionTeam constructionTeam); + + /** + * 新增施工队信息 + * + * @param constructionTeam 施工队信息 + * @return 结果 + */ + public int insertConstructionTeam(ConstructionTeam constructionTeam); + + /** + * 修改施工队信息 + * + * @param constructionTeam 施工队信息 + * @return 结果 + */ + public int updateConstructionTeam(ConstructionTeam constructionTeam); + + /** + * 批量删除施工队信息 + * + * @param ids 需要删除的施工队信息主键集合 + * @return 结果 + */ + public int deleteConstructionTeamByIds(Long[] ids); + + /** + * 删除施工队信息信息 + * + * @param id 施工队信息主键 + * @return 结果 + */ + public int deleteConstructionTeamById(Long id); +} diff --git a/src/main/java/com/zg/project/information/service/IStockOutTypeService.java b/src/main/java/com/zg/project/information/service/IStockOutTypeService.java new file mode 100644 index 0000000..cbbb984 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/IStockOutTypeService.java @@ -0,0 +1,61 @@ +package com.zg.project.information.service; + +import java.util.List; +import com.zg.project.information.domain.StockOutType; + +/** + * 出库类型Service接口 + * + * @author zg + * @date 2025-06-09 + */ +public interface IStockOutTypeService +{ + /** + * 查询出库类型 + * + * @param id 出库类型主键 + * @return 出库类型 + */ + public StockOutType selectStockOutTypeById(Long id); + + /** + * 查询出库类型列表 + * + * @param stockOutType 出库类型 + * @return 出库类型集合 + */ + public List selectStockOutTypeList(StockOutType stockOutType); + + /** + * 新增出库类型 + * + * @param stockOutType 出库类型 + * @return 结果 + */ + public int insertStockOutType(StockOutType stockOutType); + + /** + * 修改出库类型 + * + * @param stockOutType 出库类型 + * @return 结果 + */ + public int updateStockOutType(StockOutType stockOutType); + + /** + * 批量删除出库类型 + * + * @param ids 需要删除的出库类型主键集合 + * @return 结果 + */ + public int deleteStockOutTypeByIds(Long[] ids); + + /** + * 删除出库类型信息 + * + * @param id 出库类型主键 + * @return 结果 + */ + public int deleteStockOutTypeById(Long id); +} diff --git a/src/main/java/com/zg/project/information/service/impl/ConstructionTeamServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/ConstructionTeamServiceImpl.java new file mode 100644 index 0000000..a4e0ae7 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/impl/ConstructionTeamServiceImpl.java @@ -0,0 +1,93 @@ +package com.zg.project.information.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zg.project.information.mapper.ConstructionTeamMapper; +import com.zg.project.information.domain.ConstructionTeam; +import com.zg.project.information.service.IConstructionTeamService; + +/** + * 施工队信息Service业务层处理 + * + * @author zg + * @date 2025-06-09 + */ +@Service +public class ConstructionTeamServiceImpl implements IConstructionTeamService +{ + @Autowired + private ConstructionTeamMapper constructionTeamMapper; + + /** + * 查询施工队信息 + * + * @param id 施工队信息主键 + * @return 施工队信息 + */ + @Override + public ConstructionTeam selectConstructionTeamById(Long id) + { + return constructionTeamMapper.selectConstructionTeamById(id); + } + + /** + * 查询施工队信息列表 + * + * @param constructionTeam 施工队信息 + * @return 施工队信息 + */ + @Override + public List selectConstructionTeamList(ConstructionTeam constructionTeam) + { + return constructionTeamMapper.selectConstructionTeamList(constructionTeam); + } + + /** + * 新增施工队信息 + * + * @param constructionTeam 施工队信息 + * @return 结果 + */ + @Override + public int insertConstructionTeam(ConstructionTeam constructionTeam) + { + return constructionTeamMapper.insertConstructionTeam(constructionTeam); + } + + /** + * 修改施工队信息 + * + * @param constructionTeam 施工队信息 + * @return 结果 + */ + @Override + public int updateConstructionTeam(ConstructionTeam constructionTeam) + { + return constructionTeamMapper.updateConstructionTeam(constructionTeam); + } + + /** + * 批量删除施工队信息 + * + * @param ids 需要删除的施工队信息主键 + * @return 结果 + */ + @Override + public int deleteConstructionTeamByIds(Long[] ids) + { + return constructionTeamMapper.deleteConstructionTeamByIds(ids); + } + + /** + * 删除施工队信息信息 + * + * @param id 施工队信息主键 + * @return 结果 + */ + @Override + public int deleteConstructionTeamById(Long id) + { + return constructionTeamMapper.deleteConstructionTeamById(id); + } +} diff --git a/src/main/java/com/zg/project/information/service/impl/StockOutTypeServiceImpl.java b/src/main/java/com/zg/project/information/service/impl/StockOutTypeServiceImpl.java new file mode 100644 index 0000000..5681689 --- /dev/null +++ b/src/main/java/com/zg/project/information/service/impl/StockOutTypeServiceImpl.java @@ -0,0 +1,93 @@ +package com.zg.project.information.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zg.project.information.mapper.StockOutTypeMapper; +import com.zg.project.information.domain.StockOutType; +import com.zg.project.information.service.IStockOutTypeService; + +/** + * 出库类型Service业务层处理 + * + * @author zg + * @date 2025-06-09 + */ +@Service +public class StockOutTypeServiceImpl implements IStockOutTypeService +{ + @Autowired + private StockOutTypeMapper stockOutTypeMapper; + + /** + * 查询出库类型 + * + * @param id 出库类型主键 + * @return 出库类型 + */ + @Override + public StockOutType selectStockOutTypeById(Long id) + { + return stockOutTypeMapper.selectStockOutTypeById(id); + } + + /** + * 查询出库类型列表 + * + * @param stockOutType 出库类型 + * @return 出库类型 + */ + @Override + public List selectStockOutTypeList(StockOutType stockOutType) + { + return stockOutTypeMapper.selectStockOutTypeList(stockOutType); + } + + /** + * 新增出库类型 + * + * @param stockOutType 出库类型 + * @return 结果 + */ + @Override + public int insertStockOutType(StockOutType stockOutType) + { + return stockOutTypeMapper.insertStockOutType(stockOutType); + } + + /** + * 修改出库类型 + * + * @param stockOutType 出库类型 + * @return 结果 + */ + @Override + public int updateStockOutType(StockOutType stockOutType) + { + return stockOutTypeMapper.updateStockOutType(stockOutType); + } + + /** + * 批量删除出库类型 + * + * @param ids 需要删除的出库类型主键 + * @return 结果 + */ + @Override + public int deleteStockOutTypeByIds(Long[] ids) + { + return stockOutTypeMapper.deleteStockOutTypeByIds(ids); + } + + /** + * 删除出库类型信息 + * + * @param id 出库类型主键 + * @return 结果 + */ + @Override + public int deleteStockOutTypeById(Long id) + { + return stockOutTypeMapper.deleteStockOutTypeById(id); + } +} diff --git a/src/main/java/com/zg/project/wisdom/controller/RkBillController.java b/src/main/java/com/zg/project/wisdom/controller/RkBillController.java new file mode 100644 index 0000000..f9738cc --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/controller/RkBillController.java @@ -0,0 +1,88 @@ +package com.zg.project.wisdom.controller; + +import com.zg.common.utils.DateUtils; +import com.zg.common.utils.SecurityUtils; +import com.zg.framework.web.controller.BaseController; +import com.zg.framework.web.domain.AjaxResult; +import com.zg.project.wisdom.domain.RkBill; +import com.zg.framework.web.page.TableDataInfo; +import com.zg.project.wisdom.domain.RkInfo; +import com.zg.project.wisdom.service.IRkBillService; +import com.zg.project.wisdom.service.IRkInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/wisdom/bill") +public class RkBillController extends BaseController { + + @Autowired + private IRkBillService rkBillService; + + @Autowired + private IRkInfoService rkInfoService; + + /** + * 分页查询单据主表 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:list')") + @GetMapping("/list") + public TableDataInfo list(RkBill rkBill) { + startPage(); + List list = rkBillService.selectRkBillList(rkBill); + return getDataTable(list); + } + + /** + * 根据ID获取详情 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:query')") + @GetMapping("/{id}") + public AjaxResult getInfo(@PathVariable Long id) { + return AjaxResult.success(rkBillService.selectRkBillById(id)); + } + + /** + * 新增单据主(如未通过入库明细新增) + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:add')") + @PostMapping + public AjaxResult add(@RequestBody RkBill rkBill) { + rkBill.setCreateBy(SecurityUtils.getUsername()); + rkBill.setCreateTime(DateUtils.getNowDate()); + return toAjax(rkBillService.insertRkBill(rkBill)); + } + + /** + * 修改单据主 + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:edit')") + @PutMapping + public AjaxResult edit(@RequestBody RkBill rkBill) { + rkBill.setUpdateBy(SecurityUtils.getUsername()); + rkBill.setUpdateTime(DateUtils.getNowDate()); + return toAjax(rkBillService.updateRkBill(rkBill)); + } + + /** + * 删除单据主(逻辑删除) + */ + @PreAuthorize("@ss.hasPermi('wisdom:stock:remove')") + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(rkBillService.logicDeleteRkBillByIds(ids)); + } + + @PreAuthorize("@ss.hasPermi('wisdom:stock:query')") + @GetMapping("/detailList") + public TableDataInfo detailList(@RequestParam String billNo) { + RkInfo rkInfo = new RkInfo(); + rkInfo.setBillNo(billNo); + startPage(); + List list = rkInfoService.selectRkInfoList(rkInfo); + return getDataTable(list); + } +} diff --git a/src/main/java/com/zg/project/wisdom/controller/RkInfoController.java b/src/main/java/com/zg/project/wisdom/controller/RkInfoController.java index 8de6071..d6f1b2e 100644 --- a/src/main/java/com/zg/project/wisdom/controller/RkInfoController.java +++ b/src/main/java/com/zg/project/wisdom/controller/RkInfoController.java @@ -1,10 +1,13 @@ package com.zg.project.wisdom.controller; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletResponse; import com.zg.project.wisdom.domain.dto.PcRkInfoBatchDTO; import com.zg.project.wisdom.domain.dto.RkInfoBatchDTO; +import com.zg.project.wisdom.domain.dto.StockOutDTO; import com.zg.project.wisdom.service.IGysJhService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -32,7 +35,7 @@ import com.zg.framework.web.page.TableDataInfo; * @date 2025-05-28 */ @RestController -@RequestMapping("/pc/wisdom/stock") +@RequestMapping("/wisdom/stock") public class RkInfoController extends BaseController { @Autowired @@ -42,6 +45,7 @@ public class RkInfoController extends BaseController * 查询库存单据主列表 */ @PreAuthorize("@ss.hasPermi('wisdom:stock:list')") +// @GetMapping("/details/list") @GetMapping("/list") public TableDataInfo list(RkInfo rkInfo) { @@ -104,4 +108,31 @@ public class RkInfoController extends BaseController { return toAjax(rkInfoService.deleteRkInfoByIds(ids)); } + + /** + * 库龄超过20天统计 + * @return + */ + @GetMapping("/warning/stock/over20") + @PreAuthorize("@ss.hasPermi('wisdom:stock:warning')") + public AjaxResult getOverdueStockTopList() { + int total = rkInfoService.countOverdueStock(); + List list = rkInfoService.selectTopOverdueStock(20); + Map result = new HashMap<>(); + result.put("total", total); + result.put("list", list); + return AjaxResult.success(result); + } + + /** + * 出库操作 + * @param + * @return + */ + @PreAuthorize("@ss.hasPermi('wisdom:outbound:add')") + @Log(title = "库存单据主", businessType = BusinessType.UPDATE) + @PostMapping("/updateOutStock") + public AjaxResult updateOutStock(@RequestBody StockOutDTO dto) { + return toAjax(rkInfoService.updateOutStock(dto)); + } } diff --git a/src/main/java/com/zg/project/wisdom/controller/app/AppRkInfoController.java b/src/main/java/com/zg/project/wisdom/controller/app/AppRkInfoController.java index ab1b5b6..9581633 100644 --- a/src/main/java/com/zg/project/wisdom/controller/app/AppRkInfoController.java +++ b/src/main/java/com/zg/project/wisdom/controller/app/AppRkInfoController.java @@ -6,15 +6,19 @@ import com.zg.framework.aspectj.lang.enums.BusinessType; import com.zg.framework.web.controller.BaseController; import com.zg.framework.web.domain.AjaxResult; import com.zg.framework.web.page.TableDataInfo; +import com.zg.project.wisdom.domain.RkBill; import com.zg.project.wisdom.domain.RkInfo; import com.zg.project.wisdom.domain.dto.RkInfoBatchDTO; +import com.zg.project.wisdom.service.IRkBillService; import com.zg.project.wisdom.service.IRkInfoService; 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.HashMap; import java.util.List; +import java.util.Map; /** * 库存单据主Controller @@ -23,16 +27,33 @@ import java.util.List; * @date 2025-05-28 */ @RestController -@RequestMapping("/wisdom/stock") +@RequestMapping("/app/wisdom/stock") public class AppRkInfoController extends BaseController { @Autowired private IRkInfoService rkInfoService; + @Autowired + private IRkBillService rkBillService; + + /** + * 查询库存单据主列表 + * @param rkBill + * @return + */ +// @PreAuthorize("@ss.hasPermi('wisdom:stock:list')") +// @GetMapping("/list") +// public TableDataInfo list(RkBill rkBill) { +// startPage(); +// List list = rkBillService.selectRkBillList(rkBill); +// return getDataTable(list); +// } + /** * 查询库存单据主列表 */ @PreAuthorize("@ss.hasPermi('wisdom:stock:list')") +// @GetMapping("/details/list") @GetMapping("/list") public TableDataInfo list(RkInfo rkInfo) { @@ -41,6 +62,19 @@ public class AppRkInfoController extends BaseController { return getDataTable(list); } + + /** + * 根据单据号进行撤销 + * @param billNo + * @return + */ + @DeleteMapping("/deleteByBillNo/{billNo}") + @PreAuthorize("@ss.hasPermi('wisdom:stock:deleteByBillNo')") + public AjaxResult deleteByBillNo(@PathVariable String billNo) { + rkInfoService.deleteByBillNo(billNo); + return AjaxResult.success("撤销成功"); + } + /** * 导出库存单据主列表 */ @@ -95,4 +129,7 @@ public class AppRkInfoController extends BaseController { { return toAjax(rkInfoService.deleteRkInfoByIds(ids)); } + + + } diff --git a/src/main/java/com/zg/project/wisdom/domain/RkBill.java b/src/main/java/com/zg/project/wisdom/domain/RkBill.java new file mode 100644 index 0000000..27e81ce --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/domain/RkBill.java @@ -0,0 +1,171 @@ +package com.zg.project.wisdom.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zg.framework.aspectj.lang.annotation.Excel; +import com.zg.framework.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 入库单据主表对象 rk_bill + * + * @author zg + * @date 2025-06-06 + */ +public class RkBill extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 入库类型 */ +// @Excel(name = "入库类型") + private String rkType; + + /** 物资类型 */ +// @Excel(name = "物资类型") + private String wlType; + + /** 所属仓库 */ +// @Excel(name = "所属仓库") + private String cangku; + + /** 入库类型名称 */ + @Excel(name = "入库类型名称") + private String rkTypeName; + + /** 物资类型名称 */ + @Excel(name = "物资类型名称") + private String wlTypeName; + + /** 所属仓库名称 */ + @Excel(name = "所属仓库名称") + private String cangkuName; + + /** 理货员名称 */ + @Excel(name = "理货员名称") + private String lihuoYName; + + /** 入库时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date rkTime; + + /** 理货员 */ +// @Excel(name = "理货员") + private String lihuoY; + + /** 单据号 */ + @Excel(name = "单据号") + private String billNo; + + /** 是否已出库(0未出库,1已出库) */ + @Excel(name = "是否出库", readConverterExp = "0=未出库,1=已出库") + private String isChuku; + + /** 是否删除(0正常,1删除) */ + private String isDelete; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getRkType() { + return rkType; + } + + public void setRkType(String rkType) { + this.rkType = rkType; + } + + public String getWlType() { + return wlType; + } + + public void setWlType(String wlType) { + this.wlType = wlType; + } + + public String getCangku() { + return cangku; + } + + public void setCangku(String cangku) { + this.cangku = cangku; + } + + public String getRkTypeName() { return rkTypeName; } + public void setRkTypeName(String rkTypeName) { this.rkTypeName = rkTypeName; } + + public String getWlTypeName() { return wlTypeName; } + public void setWlTypeName(String wlTypeName) { this.wlTypeName = wlTypeName; } + + public String getCangkuName() { return cangkuName; } + public void setCangkuName(String cangkuName) { this.cangkuName = cangkuName; } + + public Date getRkTime() { + return rkTime; + } + + public void setRkTime(Date rkTime) { + this.rkTime = rkTime; + } + + public String getLihuoY() { + return lihuoY; + } + + public void setLihuoY(String lihuoY) { + this.lihuoY = lihuoY; + } + + public String getBillNo() { + return billNo; + } + + public void setBillNo(String billNo) { + this.billNo = billNo; + } + + public String getIsChuku() { + return isChuku; + } + + public void setIsChuku(String isChuku) { + this.isChuku = isChuku; + } + + public String getIsDelete() { + return isDelete; + } + + public void setIsDelete(String isDelete) { + this.isDelete = isDelete; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("rkType", getRkType()) + .append("wlType", getWlType()) + .append("cangku", getCangku()) + .append("rkTime", getRkTime()) + .append("lihuoY", getLihuoY()) + .append("billNo", getBillNo()) + .append("isChuku", getIsChuku()) + .append("isDelete", getIsDelete()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/src/main/java/com/zg/project/wisdom/domain/RkInfo.java b/src/main/java/com/zg/project/wisdom/domain/RkInfo.java index b154c28..99d1a6b 100644 --- a/src/main/java/com/zg/project/wisdom/domain/RkInfo.java +++ b/src/main/java/com/zg/project/wisdom/domain/RkInfo.java @@ -24,6 +24,9 @@ public class RkInfo extends BaseEntity /** 主键ID */ private Long id; + /** 库龄 */ + private Long stockAge; + /** 入库类型 */ // @Excel(name = "入库类型") private String rkType; @@ -49,7 +52,7 @@ public class RkInfo extends BaseEntity private String cangkuName; /** 入库时间(用户操作入库的日期) */ - @Excel(name = "入库时间", readConverterExp = "用=户操作入库的日期") + @Excel(name = "入库时间", dateFormat = "yyyy-MM-dd HH:mm:ss") private Date rkTime; /** 理货员 */ @@ -60,6 +63,10 @@ public class RkInfo extends BaseEntity @Excel(name = "是否已出库", readConverterExp = "0=已入库,1已出库") private String isChuku; + /** 单据号 */ + @Excel(name = "单据号") + private String billNo; + /** 县局 */ @Excel(name = "县局") private String xj; @@ -136,8 +143,29 @@ public class RkInfo extends BaseEntity @Excel(name = "实物ID") private String entityId; + @Excel(name = "出库理货员") + private String ckLihuoY; + +// @Excel(name = "出库类型编号") + private String ckType; + + @Excel(name = "出库类型名称") + private String ckTypeName; + +// @Excel(name = "施工队编号") + private String teamCode; + + @Excel(name = "施工队名称") + private String teamName; +// 出库时间 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @Excel(name = "领用时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date lyTime; + + @Excel(name = "出库备注") + private String ckRemark; /** 是否删除(0 表示正常,1 表示已删除) */ - @Excel(name = "是否删除", readConverterExp = "0=,表=示正常,1,表=示已删除") +// @Excel(name = "是否删除", readConverterExp = "0=,表=示正常,1,表=示已删除") private String isDelete; public String getKeyword() { @@ -168,6 +196,14 @@ public class RkInfo extends BaseEntity return rkType; } + public Long getStockAge() { + return stockAge; + } + + public void setStockAge(Long stockAge) { + this.stockAge = stockAge; + } + public void setWlType(String wlType) { this.wlType = wlType; @@ -239,6 +275,14 @@ public class RkInfo extends BaseEntity return isChuku; } + public String getBillNo() { + return billNo; + } + + public void setBillNo(String billNo) { + this.billNo = billNo; + } + public void setXj(String xj) { this.xj = xj; @@ -427,6 +471,62 @@ public class RkInfo extends BaseEntity return entityId; } + public String getCkLihuoY() { + return ckLihuoY; + } + + public void setCkLihuoY(String ckLihuoY) { + this.ckLihuoY = ckLihuoY; + } + + public String getCkType() { + return ckType; + } + + public void setCkType(String ckType) { + this.ckType = ckType; + } + + public String getCkTypeName() { + return ckTypeName; + } + + public void setCkTypeName(String ckTypeName) { + this.ckTypeName = ckTypeName; + } + + public String getTeamCode() { + return teamCode; + } + + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getTeamName() { + return teamName; + } + + public void setTeamName(String teamName) { + this.teamName = teamName; + } + + public String getCkRemark() { + return ckRemark; + } + + public void setCkRemark(String ckRemark) { + this.ckRemark = ckRemark; + } + + public Date getLyTime() { + return lyTime; + } + + public void setLyTime(Date lyTime) { + this.lyTime = lyTime; + } + public void setIsDelete(String isDelete) { this.isDelete = isDelete; @@ -447,6 +547,7 @@ public class RkInfo extends BaseEntity .append("rkTime", getRkTime()) .append("lihuoY", getLihuoY()) .append("isChuku", getIsChuku()) + .append("billNo", getBillNo()) .append("remark", getRemark()) .append("xj", getXj()) .append("xmNo", getXmNo()) @@ -471,6 +572,13 @@ public class RkInfo extends BaseEntity .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) + .append("ckLihuoY", getCkLihuoY()) + .append("ckType", getCkType()) + .append("ckTypeName", getCkTypeName()) + .append("teamCode", getTeamCode()) + .append("teamName", getTeamName()) + .append("lyTime", getLyTime()) + .append("ckRemark", getCkRemark()) .append("isDelete", getIsDelete()) .toString(); } diff --git a/src/main/java/com/zg/project/wisdom/domain/dto/StockOutDTO.java b/src/main/java/com/zg/project/wisdom/domain/dto/StockOutDTO.java new file mode 100644 index 0000000..d0eb73d --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/domain/dto/StockOutDTO.java @@ -0,0 +1,82 @@ +package com.zg.project.wisdom.domain.dto; + +import java.util.Date; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 出库请求 DTO:用于批量出库操作 + * 对应操作 rk_info 表中多个记录出库 + */ +public class StockOutDTO { + + /** 出库的 rk_info 主键 ID 集合 */ + private List ids; + + /** 领用时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date lyTime; + + /** 出库类型编码 */ + private String ckType; + + /** 施工队编码 */ + private String teamCode; + + /** 出库理货员姓名 */ + private String ckLihuoY; + + // ==== Getter & Setter ==== + + public List getIds() { + return ids; + } + + public void setIds(List ids) { + this.ids = ids; + } + + public Date getLyTime() { + return lyTime; + } + + public void setLyTime(Date lyTime) { + this.lyTime = lyTime; + } + + public String getCkType() { + return ckType; + } + + public void setCkType(String ckType) { + this.ckType = ckType; + } + + public String getTeamCode() { + return teamCode; + } + + public void setTeamCode(String teamCode) { + this.teamCode = teamCode; + } + + public String getCkLihuoY() { + return ckLihuoY; + } + + public void setCkLihuoY(String ckLihuoY) { + this.ckLihuoY = ckLihuoY; + } + + @Override + public String toString() { + return "StockOutDTO{" + + "ids=" + ids + + ", lyTime=" + lyTime + + ", ckType='" + ckType + '\'' + + ", teamCode='" + teamCode + '\'' + + ", ckLihuoY='" + ckLihuoY + '\'' + + '}'; + } +} diff --git a/src/main/java/com/zg/project/wisdom/mapper/GysJhMapper.java b/src/main/java/com/zg/project/wisdom/mapper/GysJhMapper.java index db16e54..b2327f5 100644 --- a/src/main/java/com/zg/project/wisdom/mapper/GysJhMapper.java +++ b/src/main/java/com/zg/project/wisdom/mapper/GysJhMapper.java @@ -71,4 +71,10 @@ public interface GysJhMapper * @param gysJhId */ void updateStatusById(Long gysJhId); + + /** + * 重置状态 + * @param sapNos + */ + void resetGysJhStatusBySapNos(List sapNos); } diff --git a/src/main/java/com/zg/project/wisdom/mapper/RkBillMapper.java b/src/main/java/com/zg/project/wisdom/mapper/RkBillMapper.java new file mode 100644 index 0000000..35c9307 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/mapper/RkBillMapper.java @@ -0,0 +1,36 @@ +package com.zg.project.wisdom.mapper; + +import com.zg.project.wisdom.domain.RkBill; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface RkBillMapper { + + /** + * 新增入库单据主表 + */ + int insertRkBill(RkBill bill); + + /** + * 查询入库单据主表列表(可选) + */ + List selectRkBillList(RkBill bill); + + /** + * 根据单据号查询 + */ + RkBill selectRkBillByBillNo(String billNo); + + RkBill selectRkBillById(Long id); + + int updateRkBill(RkBill rkBill); + + int logicDeleteRkBillByIds(@Param("ids") Long[] ids); + + /** + * 批量更新出库状态 + * @param ids + */ + void updateOutStock(List ids); +} diff --git a/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java b/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java index 158da6f..bebd83a 100644 --- a/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java +++ b/src/main/java/com/zg/project/wisdom/mapper/RkInfoMapper.java @@ -73,4 +73,37 @@ public interface RkInfoMapper */ List selectUsedPcodes(); + /** + * 根据单据编号查询SAP单号 + * @param billNo + * @return + */ + List selectSapNoByBillNo(String billNo); + + /** + * 根据单据编号删除入库单据 + * @param billNo + */ + void deleteByBillNo(String billNo); + + + /** + * 统计超期库存 + * @return + */ + int countOverdueStock(); + + /** + * 获取最新20条逾期库存列表 + * @param + * @return + */ + List selectTopOverdueStock(@Param("limit") int limit); + + /** + * 批量更新出库信息 + * @param list + * @return + */ + int batchUpdateOutStock(List list); } diff --git a/src/main/java/com/zg/project/wisdom/service/IRkBillService.java b/src/main/java/com/zg/project/wisdom/service/IRkBillService.java new file mode 100644 index 0000000..5654989 --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/service/IRkBillService.java @@ -0,0 +1,13 @@ +package com.zg.project.wisdom.service; + +import com.zg.project.wisdom.domain.RkBill; + +import java.util.List; + +public interface IRkBillService { + List selectRkBillList(RkBill rkBill); + RkBill selectRkBillById(Long id); + int insertRkBill(RkBill rkBill); + int updateRkBill(RkBill rkBill); + int logicDeleteRkBillByIds(Long[] ids); +} diff --git a/src/main/java/com/zg/project/wisdom/service/IRkInfoService.java b/src/main/java/com/zg/project/wisdom/service/IRkInfoService.java index a415b60..cedf1a5 100644 --- a/src/main/java/com/zg/project/wisdom/service/IRkInfoService.java +++ b/src/main/java/com/zg/project/wisdom/service/IRkInfoService.java @@ -1,9 +1,12 @@ package com.zg.project.wisdom.service; import java.util.List; +import java.util.Map; + import com.zg.project.wisdom.domain.RkInfo; import com.zg.project.wisdom.domain.dto.PcRkInfoBatchDTO; import com.zg.project.wisdom.domain.dto.RkInfoBatchDTO; +import com.zg.project.wisdom.domain.dto.StockOutDTO; /** * 库存单据主Service接口 @@ -67,4 +70,30 @@ public interface IRkInfoService * @return */ int batchInsertApp(RkInfoBatchDTO dto); + + /** + * 根据单据编号删除入库单据 + * @param billNo + */ + void deleteByBillNo(String billNo); + + /** + * 统计逾期库存数量 + * @return + */ + int countOverdueStock(); + + /** + * 获取最新20条逾期库存列表 + * @param i + * @return + */ + List selectTopOverdueStock(int i); + + /** + * 出库操作 + * @param dto + * @return + */ + int updateOutStock(StockOutDTO dto); } diff --git a/src/main/java/com/zg/project/wisdom/service/impl/RkBillServiceImpl.java b/src/main/java/com/zg/project/wisdom/service/impl/RkBillServiceImpl.java new file mode 100644 index 0000000..188cc2f --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/service/impl/RkBillServiceImpl.java @@ -0,0 +1,41 @@ +package com.zg.project.wisdom.service.impl; + +import com.zg.project.wisdom.domain.RkBill; +import com.zg.project.wisdom.mapper.RkBillMapper; +import com.zg.project.wisdom.service.IRkBillService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class RkBillServiceImpl implements IRkBillService { + + @Autowired + private RkBillMapper rkBillMapper; + + @Override + public List selectRkBillList(RkBill rkBill) { + return rkBillMapper.selectRkBillList(rkBill); + } + + @Override + public RkBill selectRkBillById(Long id) { + return rkBillMapper.selectRkBillById(id); + } + + @Override + public int insertRkBill(RkBill rkBill) { + return rkBillMapper.insertRkBill(rkBill); + } + + @Override + public int updateRkBill(RkBill rkBill) { + return rkBillMapper.updateRkBill(rkBill); + } + + @Override + public int logicDeleteRkBillByIds(Long[] ids) { + return rkBillMapper.logicDeleteRkBillByIds(ids); + } +} diff --git a/src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java b/src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java index 259d339..b5aa2b9 100644 --- a/src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java +++ b/src/main/java/com/zg/project/wisdom/service/impl/RkInfoServiceImpl.java @@ -1,5 +1,8 @@ package com.zg.project.wisdom.service.impl; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -7,18 +10,18 @@ import java.util.List; import com.zg.common.exception.ServiceException; import com.zg.common.utils.DateUtils; import com.zg.common.utils.SecurityUtils; -import com.zg.project.wisdom.domain.GysJh; +import com.zg.project.wisdom.domain.RkBill; import com.zg.project.wisdom.domain.dto.*; import com.zg.project.wisdom.mapper.GysJhMapper; -import com.zg.project.wisdom.service.IGysJhService; -import com.zg.project.wisdom.util.CodeConvertUtil; +import com.zg.project.wisdom.mapper.RkBillMapper; +import com.zg.project.wisdom.utils.BillNoUtil; +import com.zg.project.wisdom.utils.CodeConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zg.project.wisdom.mapper.RkInfoMapper; import com.zg.project.wisdom.domain.RkInfo; import com.zg.project.wisdom.service.IRkInfoService; - -import static com.zg.common.utils.SecurityUtils.getUsername; +import org.springframework.transaction.annotation.Transactional; /** * 库存单据主Service业务层处理 @@ -36,6 +39,9 @@ public class RkInfoServiceImpl implements IRkInfoService @Autowired private GysJhMapper gysJhMapper; + @Autowired + private RkBillMapper rkBillMapper; + /** * 查询库存单据主 * @@ -55,9 +61,21 @@ public class RkInfoServiceImpl implements IRkInfoService * @return 库存单据主 */ @Override - public List selectRkInfoList(RkInfo rkInfo) - { - return rkInfoMapper.selectRkInfoList(rkInfo); + public List selectRkInfoList(RkInfo rkInfo) { + List list = rkInfoMapper.selectRkInfoList(rkInfo); + LocalDate today = LocalDate.now(); + + for (RkInfo info : list) { + if (info.getRkTime() != null) { + LocalDate rkDate = info.getRkTime().toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); + long days = ChronoUnit.DAYS.between(rkDate, today); + info.setStockAge(days); + } + } + + return list; } @@ -113,16 +131,34 @@ public class RkInfoServiceImpl implements IRkInfoService throw new ServiceException("rkList 入库明细列表不能为空"); } + // ✅ 生成统一单据号 + String billNo = BillNoUtil.generateTodayBillNo(); + + // ✅ 插入单据主表 + RkBill bill = new RkBill(); + bill.setBillNo(billNo); + bill.setRkType(dto.getRkType()); + bill.setWlType(dto.getWlType()); + bill.setCangku(dto.getCangku()); + bill.setRkTime(now); + bill.setLihuoY(dto.getLihuoY()); + bill.setIsChuku("0"); + bill.setIsDelete("0"); + bill.setCreateBy(username); + bill.setCreateTime(now); + rkBillMapper.insertRkBill(bill); + + // ✅ 构建明细列表 for (PcRkInfoItemDTO item : dto.getRkList()) { RkInfo entity = new RkInfo(); - // 顶层字段 entity.setRkType(dto.getRkType()); entity.setWlType(dto.getWlType()); entity.setCangku(dto.getCangku()); entity.setLihuoY(dto.getLihuoY()); - // 明细字段(item) + entity.setBillNo(billNo); + entity.setXj(item.getXj()); entity.setXmNo(item.getXmNo()); entity.setXmMs(item.getXmMs()); @@ -137,7 +173,6 @@ public class RkInfoServiceImpl implements IRkInfoService entity.setGysNo(item.getGysNo()); entity.setGysMc(item.getGysMc()); - // 库存字段 entity.setRealQty(item.getRealQty()); entity.setPcode(item.getPcode()); if (item.getPcode() != null) { @@ -156,7 +191,6 @@ public class RkInfoServiceImpl implements IRkInfoService saveList.add(entity); - // 更新供应计划状态 if (item.getGysJhId() != null) { gysJhMapper.updateStatusById(item.getGysJhId()); } @@ -169,6 +203,7 @@ public class RkInfoServiceImpl implements IRkInfoService return rkInfoMapper.batchInsertRkInfo(saveList); } + /** * 新增入库单据(APP) * @param dto @@ -184,6 +219,23 @@ public class RkInfoServiceImpl implements IRkInfoService throw new ServiceException("rkList 入库明细列表不能为空"); } + // ✅ 生成统一的单据号 + String billNo = BillNoUtil.generateTodayBillNo(); + + RkBill bill = new RkBill(); + bill.setBillNo(billNo); + bill.setRkType(dto.getRkType()); + bill.setWlType(dto.getWlType()); + bill.setCangku(dto.getCangku()); + bill.setRkTime(now); + bill.setLihuoY(dto.getLihuoY()); + bill.setIsChuku("0"); + bill.setIsDelete("0"); + bill.setCreateBy(username); + bill.setCreateTime(now); + + rkBillMapper.insertRkBill(bill); + for (RkInfoItemDTO item : dto.getRkList()) { List scanList = item.getScanList(); if (scanList == null || scanList.isEmpty()) { @@ -200,6 +252,8 @@ public class RkInfoServiceImpl implements IRkInfoService entity.setCangku(dto.getCangku()); entity.setLihuoY(dto.getLihuoY()); + entity.setBillNo(billNo); + // 明细字段(RkInfoItemDTO) entity.setXj(item.getXj()); entity.setXmMs(item.getXmMs()); @@ -249,4 +303,65 @@ public class RkInfoServiceImpl implements IRkInfoService return rkInfoMapper.batchInsertRkInfo(saveList); } + @Transactional + public void deleteByBillNo(String billNo) { + // 1. 查询 sap_no + List sapNos = rkInfoMapper.selectSapNoByBillNo(billNo); + + // 2. 更新供应计划状态 + if (sapNos != null && !sapNos.isEmpty()) { + gysJhMapper.resetGysJhStatusBySapNos(sapNos); + } + + // 3. 删除入库记录 + rkInfoMapper.deleteByBillNo(billNo); + } + + /** + * 统计过期库存 + * @return + */ + @Override + public int countOverdueStock() { + return rkInfoMapper.countOverdueStock(); + } + + /** + * 获取最新20条逾期库存列表 + * @param i + * @return + */ + @Override + public List selectTopOverdueStock(int i) { + return rkInfoMapper.selectTopOverdueStock(i); + } + + @Override + public int updateOutStock(StockOutDTO dto) { + if (dto == null || dto.getIds() == null || dto.getIds().isEmpty()) { + throw new ServiceException("出库记录ID列表不能为空"); + } + + Date now = dto.getLyTime() != null ? dto.getLyTime() : DateUtils.getNowDate(); + String username = SecurityUtils.getUsername(); + + List list = new ArrayList<>(); + for (Long id : dto.getIds()) { + RkInfo entity = new RkInfo(); + entity.setId(id); + entity.setIsChuku("1"); + entity.setLyTime(now); + entity.setCkType(dto.getCkType()); + entity.setTeamCode(dto.getTeamCode()); + entity.setCkLihuoY(dto.getCkLihuoY()); + entity.setUpdateBy(username); + entity.setUpdateTime(now); + list.add(entity); + } + + rkBillMapper.updateOutStock(dto.getIds()); + + return rkInfoMapper.batchUpdateOutStock(list); + } + } diff --git a/src/main/java/com/zg/project/wisdom/utils/BillNoUtil.java b/src/main/java/com/zg/project/wisdom/utils/BillNoUtil.java new file mode 100644 index 0000000..80ebafb --- /dev/null +++ b/src/main/java/com/zg/project/wisdom/utils/BillNoUtil.java @@ -0,0 +1,13 @@ +package com.zg.project.wisdom.utils; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public class BillNoUtil { + public static String generateTodayBillNo() { + String prefix = "RK"; + String time = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); + return prefix + time; + } +} + diff --git a/src/main/java/com/zg/project/wisdom/util/CodeConvertUtil.java b/src/main/java/com/zg/project/wisdom/utils/CodeConvertUtil.java similarity index 97% rename from src/main/java/com/zg/project/wisdom/util/CodeConvertUtil.java rename to src/main/java/com/zg/project/wisdom/utils/CodeConvertUtil.java index 8f73dee..8f7d055 100644 --- a/src/main/java/com/zg/project/wisdom/util/CodeConvertUtil.java +++ b/src/main/java/com/zg/project/wisdom/utils/CodeConvertUtil.java @@ -1,4 +1,4 @@ -package com.zg.project.wisdom.util; +package com.zg.project.wisdom.utils; /** * 编码转换工具类 - 处理如库位码转十六进制字符串等逻辑 diff --git a/src/main/resources/application-druid.yml b/src/main/resources/application-druid.yml index b504672..d11107e 100644 --- a/src/main/resources/application-druid.yml +++ b/src/main/resources/application-druid.yml @@ -6,8 +6,8 @@ spring: druid: # 主库数据源 master: -# url: jdbc:mysql://192.168.1.20:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 - url: jdbc:mysql://localhost:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.1.20:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 +# url: jdbc:mysql://localhost:3306/wisdom?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: shzg # 从库数据源 diff --git a/src/main/resources/mybatis/information/ConstructionTeamMapper.xml b/src/main/resources/mybatis/information/ConstructionTeamMapper.xml new file mode 100644 index 0000000..20fa222 --- /dev/null +++ b/src/main/resources/mybatis/information/ConstructionTeamMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + select id, team_name, team_code, created_by, created_at, updated_by, updated_at, is_delete from construction_team + + + + + + + + insert into construction_team + + team_name, + team_code, + created_by, + created_at, + updated_by, + updated_at, + is_delete, + + + #{teamName}, + #{teamCode}, + #{createdBy}, + #{createdAt}, + #{updatedBy}, + #{updatedAt}, + #{isDelete}, + + + + + update construction_team + + team_name = #{teamName}, + team_code = #{teamCode}, + created_by = #{createdBy}, + created_at = #{createdAt}, + updated_by = #{updatedBy}, + updated_at = #{updatedAt}, + is_delete = #{isDelete}, + + where id = #{id} + + + + delete from construction_team where id = #{id} + + + + delete from construction_team where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/information/StockOutTypeMapper.xml b/src/main/resources/mybatis/information/StockOutTypeMapper.xml new file mode 100644 index 0000000..af7172b --- /dev/null +++ b/src/main/resources/mybatis/information/StockOutTypeMapper.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + select id, ck_type_name, ck_type_code, created_by, created_at, updated_by, updated_at, is_delete from stock_out_type + + + + + + + + insert into stock_out_type + + ck_type_name, + ck_type_code, + created_by, + created_at, + updated_by, + updated_at, + is_delete, + + + #{ckTypeName}, + #{ckTypeCode}, + #{createdBy}, + #{createdAt}, + #{updatedBy}, + #{updatedAt}, + #{isDelete}, + + + + + update stock_out_type + + ck_type_name = #{ckTypeName}, + ck_type_code = #{ckTypeCode}, + created_by = #{createdBy}, + created_at = #{createdAt}, + updated_by = #{updatedBy}, + updated_at = #{updatedAt}, + is_delete = #{isDelete}, + + where id = #{id} + + + + delete from stock_out_type where id = #{id} + + + + delete from stock_out_type where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/wisdom/GysJhMapper.xml b/src/main/resources/mybatis/wisdom/GysJhMapper.xml index a80d709..3236184 100644 --- a/src/main/resources/mybatis/wisdom/GysJhMapper.xml +++ b/src/main/resources/mybatis/wisdom/GysJhMapper.xml @@ -144,6 +144,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + UPDATE gys_jh + SET status = 0 + WHERE sap_no IN + + #{sapNo} + + delete from gys_jh where id = #{id} diff --git a/src/main/resources/mybatis/wisdom/RkBillMapper.xml b/src/main/resources/mybatis/wisdom/RkBillMapper.xml new file mode 100644 index 0000000..d2bf315 --- /dev/null +++ b/src/main/resources/mybatis/wisdom/RkBillMapper.xml @@ -0,0 +1,105 @@ + + + + + + + + INSERT INTO rk_bill ( + rk_type, wl_type, cangku, rk_time, lihuo_y, + bill_no, is_chuku, is_delete, + created_by, created_at + ) VALUES ( + #{rkType}, #{wlType}, #{cangku}, #{rkTime}, #{lihuoY}, + #{billNo}, #{isChuku}, #{isDelete}, + #{createBy}, #{createTime} + ) + + + + + + + + + + + + + + UPDATE rk_bill + SET rk_type = #{rkType}, + wl_type = #{wlType}, + cangku = #{cangku}, + rk_time = #{rkTime}, + lihuo_y = #{lihuoY}, + bill_no = #{billNo}, + is_chuku = #{isChuku}, + remark = #{remark}, + updated_by = #{updateBy}, + updated_at = #{updateTime} + WHERE id = #{id} + + + + + UPDATE rk_bill + SET is_delete = '1' + WHERE id IN + + #{id} + + + + + UPDATE rk_bill + SET is_chuku = '1' + WHERE id IN + + #{id} + + + + diff --git a/src/main/resources/mybatis/wisdom/RkInfoMapper.xml b/src/main/resources/mybatis/wisdom/RkInfoMapper.xml index a19b84f..5fb0fe8 100644 --- a/src/main/resources/mybatis/wisdom/RkInfoMapper.xml +++ b/src/main/resources/mybatis/wisdom/RkInfoMapper.xml @@ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -32,8 +33,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + @@ -44,23 +53,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT ri.id, + ri.bill_no, ri.rk_type, st.type_name AS rk_type_name, ri.wl_type, mt.type_name AS wl_type_name, ri.cangku, wh.warehouse_name AS cangku_name, ri.rk_time, ri.lihuo_y, ri.is_chuku, ri.remark, + ri.ck_lihuo_y, ri.ck_type, sot.ck_type_name, + ri.team_code, ct.team_name, + ri.ck_remark, + ri.ly_time, ri.xj, ri.xm_no, ri.xm_ms, ri.wl_no, ri.wl_ms, ri.gys_no, ri.gys_mc, ri.jh_amt, ri.ht_dj, ri.sap_no, ri.xh, ri.jh_qty, ri.ht_qty, ri.dw, ri.real_qty, - ri.pcode, ri.tray_code, ri.entity_id, + ri.pcode, ri.pcode_id, ri.tray_code, ri.entity_id, ri.create_by, ri.create_time, ri.update_by, ri.update_time, ri.is_delete FROM rk_info ri LEFT JOIN stock_in_type st ON ri.rk_type = st.type_code LEFT JOIN material_type mt ON ri.wl_type = mt.type_code LEFT JOIN warehouse_info wh ON ri.cangku = wh.warehouse_code + LEFT JOIN stock_out_type sot ON ri.ck_type = sot.ck_type_code + LEFT JOIN construction_team ct ON ri.team_code = ct.team_code insert into rk_info ( + bill_no, rk_type, wl_type, cangku, lihuo_y, rk_time, wl_no, wl_ms, xm_no, xm_ms, xj, sap_no, gys_no, gys_mc, jh_qty, ht_qty, jh_amt, ht_dj, dw, @@ -70,6 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" values ( + #{item.billNo}, #{item.rkType}, #{item.wlType}, #{item.cangku}, #{item.lihuoY}, #{item.rkTime}, #{item.wlNo}, #{item.wlMs}, #{item.xmNo}, #{item.xmMs}, #{item.xj}, #{item.sapNo}, #{item.gysNo}, #{item.gysMc}, #{item.jhQty}, #{item.htQty}, #{item.jhAmt}, #{item.htDj}, #{item.dw}, @@ -79,11 +97,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + DELETE FROM rk_info WHERE bill_no = #{billNo} + + @@ -139,14 +166,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + @@ -158,6 +208,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" rk_time = #{rkTime}, lihuo_y = #{lihuoY}, is_chuku = #{isChuku}, + bill_no = #{billNo}, remark = #{remark}, xj = #{xj}, xm_no = #{xmNo}, @@ -177,6 +228,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pcode = #{pcode}, tray_code = #{trayCode}, entity_id = #{entityId}, + ck_lihuo_y = #{ckLihuoY}, + ck_type = #{ckType}, + ck_type_name = #{ckTypeName}, + sgd_code = #{sgdCode}, + sgd_name = #{sgdName}, + ly_time = #{lyTime}, + ck_remark = #{ckRemark}, create_by = #{createBy}, create_time = #{createTime}, update_by = #{updateBy}, @@ -194,11 +252,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update rk_info - set is_delete = 1 + set ri.is_delete = 1 where id in #{id} + + + UPDATE rk_info + SET + is_chuku = 1, + ck_time = #{item.ckTime}, + ck_type = #{item.ckType}, + team_code = #{item.teamCode}, + ck_lihuo_y = #{item.ckLihuoY}, + update_by = #{item.updateBy}, + update_time = #{item.updateTime} + WHERE id = #{item.id} AND is_delete = 0 + + + \ No newline at end of file