master:生产需求模板功能V1.0完善;

pull/1121/head
liujiang 2025-11-15 16:23:55 +08:00
parent 1c0d9c1245
commit 9e37cf062b
15 changed files with 1011 additions and 66 deletions

View File

@ -0,0 +1,56 @@
package com.ruoyi.web.controller.xkt;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.XktBaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.web.controller.xkt.vo.storeProductDemandTemplate.StoreDemandTemplateResVO;
import com.ruoyi.web.controller.xkt.vo.storeProductDemandTemplate.StoreDemandTemplateUpdateVO;
import com.ruoyi.xkt.dto.storeProductDemandTemplate.StoreDemandTemplateUpdateDTO;
import com.ruoyi.xkt.service.IStoreProductDemandTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
/**
* Controller
*
* @author ruoyi
* @date 2025-03-26
*/
@Api(tags = "档口生产需求下载模板")
@RestController
@RequiredArgsConstructor
@RequestMapping("/rest/v1/store-templates")
public class StoreProductDemandTemplateController extends XktBaseController {
final IStoreProductDemandTemplateService templateService;
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@ApiOperation(value = "查询档口设置的需求下载模板", httpMethod = "GET", response = R.class)
@GetMapping("/{storeId}")
public R<StoreDemandTemplateResVO> getTemplate(@PathVariable Long storeId) {
return R.ok(BeanUtil.toBean(templateService.getTemplate(storeId), StoreDemandTemplateResVO.class));
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@Log(title = "更新档口需求下载模板", businessType = BusinessType.UPDATE)
@ApiOperation(value = "更新档口需求下载模板", httpMethod = "PUT", response = R.class)
@PutMapping("")
public R<Integer> updateTemplate(@RequestBody StoreDemandTemplateUpdateVO updateVO) {
return R.ok(templateService.updateTemplate(BeanUtil.toBean(updateVO, StoreDemandTemplateUpdateDTO.class)));
}
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
@Log(title = "重置档口需求模板", businessType = BusinessType.UPDATE)
@ApiOperation(value = "重置档口需求模板", httpMethod = "PUT", response = R.class)
@PutMapping("/reset/{storeId}")
public R<Integer> resetTemplate(@PathVariable Long storeId) {
return R.ok(templateService.initTemplate(storeId));
}
}

View File

@ -0,0 +1,117 @@
package com.ruoyi.web.controller.xkt.vo.storeProductDemandTemplate;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@Data
@ApiModel
public class StoreDemandTemplateResVO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "尺码30")
private Integer selectSize30;
@ApiModelProperty(value = "尺码31")
private Integer selectSize31;
@ApiModelProperty(value = "尺码32")
private Integer selectSize32;
@ApiModelProperty(value = "尺码33")
private Integer selectSize33;
@ApiModelProperty(value = "尺码34")
private Integer selectSize34;
@ApiModelProperty(value = "尺码35")
private Integer selectSize35;
@ApiModelProperty(value = "尺码36")
private Integer selectSize36;
@ApiModelProperty(value = "尺码37")
private Integer selectSize37;
@ApiModelProperty(value = "尺码38")
private Integer selectSize38;
@ApiModelProperty(value = "尺码39")
private Integer selectSize39;
@ApiModelProperty(value = "尺码40")
private Integer selectSize40;
@ApiModelProperty(value = "尺码41")
private Integer selectSize41;
@ApiModelProperty(value = "尺码42")
private Integer selectSize42;
@ApiModelProperty(value = "尺码43")
private Integer selectSize43;
@ApiModelProperty(value = "商品信息 工厂名称")
private Integer selectFacName;
@ApiModelProperty(value = "商品信息 需求单号")
private Integer selectDemandCode;
@ApiModelProperty(value = "商品信息 提单时间")
private Integer selectMakeTime;
@ApiModelProperty(value = "商品信息 工厂货号")
private Integer selectFactoryArtNum;
@ApiModelProperty(value = "商品信息 商品货号")
private Integer selectProdArtNum;
@ApiModelProperty(value = "商品信息 颜色")
private Integer selectColorName;
@ApiModelProperty(value = "商品信息 内里材质")
private Integer selectShoeUpperLiningMaterial;
@ApiModelProperty(value = "商品信息 鞋面材质")
private Integer selectShaftMaterial;
@ApiModelProperty(value = "商品信息 生产状态 1 待生产 2 生产中 3 生产完成")
private Integer selectDemandStatus;
@ApiModelProperty(value = "商品信息 紧急程度 0正常 1紧急")
private Integer selectEmergency;
@ApiModelProperty(value = "商品信息 总需求数量")
private Integer selectQuantity;
@ApiModelProperty(value = "工艺信息 客户名称")
private Integer selectPartnerName;
@ApiModelProperty(value = "工艺信息 商标")
private Integer selectTrademark;
@ApiModelProperty(value = "工艺信息 鞋型")
private Integer selectShoeType;
@ApiModelProperty(value = "工艺信息 楦号")
private Integer selectShoeSize;
@ApiModelProperty(value = "工艺信息 主皮")
private Integer selectMainSkin;
@ApiModelProperty(value = "工艺信息 主皮用量")
private Integer selectMainSkinUsage;
@ApiModelProperty(value = "工艺信息 配皮")
private Integer selectMatchSkin;
@ApiModelProperty(value = "工艺信息 配皮用量")
private Integer selectMatchSkinUsage;
@ApiModelProperty(value = "工艺信息 领口")
private Integer selectNeckline;
@ApiModelProperty(value = "工艺信息 膛底")
private Integer selectInsole;
@ApiModelProperty(value = "工艺信息 扣件/拉头")
private Integer selectFastener;
@ApiModelProperty(value = "工艺信息 辅料")
private Integer selectShoeAccessories;
@ApiModelProperty(value = "工艺信息 包头")
private Integer selectToeCap;
@ApiModelProperty(value = "工艺信息 包边")
private Integer selectEdgeBinding;
@ApiModelProperty(value = "工艺信息 中大底")
private Integer selectMidOutsole;
@ApiModelProperty(value = "工艺信息 防水台")
private Integer selectPlatformSole;
@ApiModelProperty(value = "工艺信息 中底厂家编码")
private Integer selectMidsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 外底厂家编码")
private Integer selectOutsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 跟厂编码")
private Integer selectHeelFactoryCode;
@ApiModelProperty(value = "工艺信息 配料")
private Integer selectComponents;
@ApiModelProperty(value = "工艺信息 第二底料")
private Integer selectSecondSoleMaterial;
@ApiModelProperty(value = "工艺信息 第二配料")
private Integer selectSecondUpperMaterial;
}

View File

@ -0,0 +1,114 @@
package com.ruoyi.web.controller.xkt.vo.storeProductDemandTemplate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@Data
@ApiModel
public class StoreDemandTemplateUpdateVO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "尺码30")
private Integer selectSize30;
@ApiModelProperty(value = "尺码31")
private Integer selectSize31;
@ApiModelProperty(value = "尺码32")
private Integer selectSize32;
@ApiModelProperty(value = "尺码33")
private Integer selectSize33;
@ApiModelProperty(value = "尺码34")
private Integer selectSize34;
@ApiModelProperty(value = "尺码35")
private Integer selectSize35;
@ApiModelProperty(value = "尺码36")
private Integer selectSize36;
@ApiModelProperty(value = "尺码37")
private Integer selectSize37;
@ApiModelProperty(value = "尺码38")
private Integer selectSize38;
@ApiModelProperty(value = "尺码39")
private Integer selectSize39;
@ApiModelProperty(value = "尺码40")
private Integer selectSize40;
@ApiModelProperty(value = "尺码41")
private Integer selectSize41;
@ApiModelProperty(value = "尺码42")
private Integer selectSize42;
@ApiModelProperty(value = "尺码43")
private Integer selectSize43;
@ApiModelProperty(value = "商品信息 工厂名称")
private Integer selectFacName;
@ApiModelProperty(value = "商品信息 需求单号")
private Integer selectDemandCode;
@ApiModelProperty(value = "商品信息 提单时间")
private Integer selectMakeTime;
@ApiModelProperty(value = "商品信息 工厂货号")
private Integer selectFactoryArtNum;
@ApiModelProperty(value = "商品信息 商品货号")
private Integer selectProdArtNum;
@ApiModelProperty(value = "商品信息 颜色")
private Integer selectColorName;
@ApiModelProperty(value = "商品信息 内里材质")
private Integer selectShoeUpperLiningMaterial;
@ApiModelProperty(value = "商品信息 鞋面材质")
private Integer selectShaftMaterial;
@ApiModelProperty(value = "商品信息 生产状态 1 待生产 2 生产中 3 生产完成")
private Integer selectDemandStatus;
@ApiModelProperty(value = "商品信息 紧急程度 0正常 1紧急")
private Integer selectEmergency;
@ApiModelProperty(value = "商品信息 总需求数量")
private Integer selectQuantity;
@ApiModelProperty(value = "工艺信息 客户名称")
private Integer selectPartnerName;
@ApiModelProperty(value = "工艺信息 商标")
private Integer selectTrademark;
@ApiModelProperty(value = "工艺信息 鞋型")
private Integer selectShoeType;
@ApiModelProperty(value = "工艺信息 楦号")
private Integer selectShoeSize;
@ApiModelProperty(value = "工艺信息 主皮")
private Integer selectMainSkin;
@ApiModelProperty(value = "工艺信息 主皮用量")
private Integer selectMainSkinUsage;
@ApiModelProperty(value = "工艺信息 配皮")
private Integer selectMatchSkin;
@ApiModelProperty(value = "工艺信息 配皮用量")
private Integer selectMatchSkinUsage;
@ApiModelProperty(value = "工艺信息 领口")
private Integer selectNeckline;
@ApiModelProperty(value = "工艺信息 膛底")
private Integer selectInsole;
@ApiModelProperty(value = "工艺信息 扣件/拉头")
private Integer selectFastener;
@ApiModelProperty(value = "工艺信息 辅料")
private Integer selectShoeAccessories;
@ApiModelProperty(value = "工艺信息 包头")
private Integer selectToeCap;
@ApiModelProperty(value = "工艺信息 包边")
private Integer selectEdgeBinding;
@ApiModelProperty(value = "工艺信息 中大底")
private Integer selectMidOutsole;
@ApiModelProperty(value = "工艺信息 防水台")
private Integer selectPlatformSole;
@ApiModelProperty(value = "工艺信息 中底厂家编码")
private Integer selectMidsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 外底厂家编码")
private Integer selectOutsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 跟厂编码")
private Integer selectHeelFactoryCode;
@ApiModelProperty(value = "工艺信息 配料")
private Integer selectComponents;
@ApiModelProperty(value = "工艺信息 第二底料")
private Integer selectSecondSoleMaterial;
@ApiModelProperty(value = "工艺信息 第二配料")
private Integer selectSecondUpperMaterial;
}

View File

@ -3353,7 +3353,6 @@ CREATE TABLE `store_factory`
`fac_contact` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '联系人',
`fac_phone` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工厂联系电话',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
`fac_status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '工厂状态',
`version` bigint UNSIGNED NOT NULL COMMENT '版本号',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志0代表存在 2代表删除',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
@ -3603,7 +3602,7 @@ CREATE TABLE `store_product_demand`
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`demand_status` tinyint UNSIGNED NULL DEFAULT NULL COMMENT '需求状态 1待生产 2 生产中 3 生产完成',
`demand_status` tinyint UNSIGNED NULL DEFAULT NULL COMMENT '生产状态 1待生产 2 生产中 3 生产完成',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '档口商品需求单' ROW_FORMAT = DYNAMIC;
@ -3701,6 +3700,8 @@ CREATE TABLE `store_product_process`
(
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '档口商品工艺信息ID',
`store_prod_id` bigint UNSIGNED NOT NULL COMMENT '档口商品ID',
`partner_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '客户',
`trademark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商标',
`shoe_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '鞋型',
`shoe_size` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '楦号',
`main_skin` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主皮',
@ -4354,6 +4355,69 @@ INSERT INTO `express_fee_config` VALUES (129, 1, '513200', NULL, 8.00, 8.00, '0'
INSERT INTO `express_fee_config` VALUES (130, 2, '440300', NULL, 4.20, 4.20, '0', '', NULL, '', NULL, 0);
-- ----------------------------
-- Table structure for store_product_demand_template
-- ----------------------------
DROP TABLE IF EXISTS `store_product_demand_template`;
CREATE TABLE `store_product_demand_template`
(
`id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`store_id` bigint(20) UNSIGNED NOT NULL COMMENT '档口ID',
`select_size30` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码30',
`select_size31` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码31',
`select_size32` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码32',
`select_size33` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码33',
`select_size34` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码34',
`select_size35` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码35',
`select_size36` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码36',
`select_size37` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码37',
`select_size38` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码38',
`select_size39` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码39',
`select_size40` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码40',
`select_size41` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码41',
`select_size42` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码42',
`select_size43` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '尺码43',
`select_fac_name` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '工厂名称',
`select_demand_code` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '需求单号',
`select_make_time` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '提单时间',
`select_factory_art_num` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '工厂货号',
`select_prod_art_num` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '商品货号',
`select_color_name` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '颜色',
`select_shoe_upper_lining_material` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '内里材质',
`select_shaft_material` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '鞋面材质',
`select_demand_status` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '生产状态',
`select_emergency` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '紧急程度',
`select_quantity` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '总数量',
`select_partner_name` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '客户名称',
`select_trademark` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '商标',
`select_shoe_type` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '鞋型',
`select_shoe_size` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '楦号',
`select_main_skin` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '主皮',
`select_main_skin_usage` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '主皮用量',
`select_match_skin` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '配皮',
`select_match_skin_usage` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '配皮用量',
`select_neckline` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '领口',
`select_insole` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '膛底',
`select_fastener` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '扣件/拉头',
`select_shoe_accessories` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '辅料',
`select_toe_cap` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '包头',
`select_edge_binding` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '包边',
`select_mid_outsole` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '中大底',
`select_platform_sole` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '防水台',
`select_midsole_factory_code` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '中底厂家编码',
`select_outsole_factory_code` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '外底厂家编码',
`select_heel_factory_code` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '跟厂编码',
`select_components` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '配料',
`select_second_sole_material` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '第二底料',
`select_second_upper_material` tinyint(3) UNSIGNED NULL DEFAULT NULL COMMENT '第二配料',
`version` bigint(20) UNSIGNED NOT NULL COMMENT '版本号',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志0代表存在 2代表删除',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

View File

@ -5,6 +5,7 @@ import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.XktBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@ -16,6 +17,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
public class StoreFactory extends XktBaseEntity {
private static final long serialVersionUID = 1L;
@ -52,27 +54,5 @@ public class StoreFactory extends XktBaseEntity {
*
*/
private String remark;
/**
*
*/
@Excel(name = "工厂状态")
private String facStatus;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("storeId", getStoreId())
.append("facName", getFacName())
.append("facAddress", getFacAddress())
.append("facPhone", getFacPhone())
.append("facStatus", getFacStatus())
.append("version", getVersion())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.toString();
}
}

View File

@ -46,9 +46,9 @@ public class StoreProductDemand extends XktBaseEntity {
private String code;
/**
* 1 2 3
* 1 2 3
*/
@Excel(name = "需求状态")
@Excel(name = "生产状态")
private Integer demandStatus;
/**
*

View File

@ -0,0 +1,221 @@
package com.ruoyi.xkt.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.domain.XktBaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* store_product_demand_template
* 0 1
*
* @author ruoyi
* @date 2025-03-26
*/
@EqualsAndHashCode(callSuper = true)
@Data
@Accessors(chain = true)
public class StoreProductDemandTemplate extends XktBaseEntity {
private static final long serialVersionUID = 1L;
/**
* ID
*/
@TableId
private Long id;
/**
* ID
*/
private Long storeId;
/**
* 30
*/
private Integer selectSize30;
/**
* 31
*/
private Integer selectSize31;
/**
* 32
*/
private Integer selectSize32;
/**
* 33
*/
private Integer selectSize33;
/**
* 34
*/
private Integer selectSize34;
/**
* 35
*/
private Integer selectSize35;
/**
* 36
*/
private Integer selectSize36;
/**
* 37
*/
private Integer selectSize37;
/**
* 38
*/
private Integer selectSize38;
/**
* 39
*/
private Integer selectSize39;
/**
* 40
*/
private Integer selectSize40;
/**
* 41
*/
private Integer selectSize41;
/**
* 42
*/
private Integer selectSize42;
/**
* 43
*/
private Integer selectSize43;
/**
*
*/
private Integer selectFacName;
/**
*
*/
private Integer selectDemandCode;
/**
*
*/
private Integer selectMakeTime;
/**
*
*/
private Integer selectFactoryArtNum;
/**
*
*/
private Integer selectProdArtNum;
/**
*
*/
private Integer selectColorName;
/**
*
*/
private Integer selectShoeUpperLiningMaterial;
/**
*
*/
private Integer selectShaftMaterial;
/**
* 1 2 3
*/
private Integer selectDemandStatus;
/**
* 0 1
*/
private Integer selectEmergency;
/**
*
*/
private Integer selectQuantity;
/**
*
*/
private Integer selectPartnerName;
/**
*
*/
private Integer selectTrademark;
/**
*
*/
private Integer selectShoeType;
/**
*
*/
private Integer selectShoeSize;
/**
*
*/
private Integer selectMainSkin;
/**
*
*/
private Integer selectMainSkinUsage;
/**
*
*/
private Integer selectMatchSkin;
/**
*
*/
private Integer selectMatchSkinUsage;
/**
*
*/
private Integer selectNeckline;
/**
*
*/
private Integer selectInsole;
/**
* /
*/
private Integer selectFastener;
/**
*
*/
private Integer selectShoeAccessories;
/**
*
*/
private Integer selectToeCap;
/**
*
*/
private Integer selectEdgeBinding;
/**
*
*/
private Integer selectMidOutsole;
/**
*
*/
private Integer selectPlatformSole;
/**
*
*/
private Integer selectMidsoleFactoryCode;
/**
*
*/
private Integer selectOutsoleFactoryCode;
/**
*
*/
private Integer selectHeelFactoryCode;
/**
*
*/
private Integer selectComponents;
/**
*
*/
private Integer selectSecondSoleMaterial;
/**
*
*/
private Integer selectSecondUpperMaterial;
}

View File

@ -30,7 +30,14 @@ public class StoreProductProcess extends XktBaseEntity {
*/
@Excel(name = "档口商品ID")
private Long storeProdId;
/**
*
*/
private String partnerName;
/**
*
*/
private String trademark;
/**
*
*/

View File

@ -0,0 +1,114 @@
package com.ruoyi.xkt.dto.storeProductDemandTemplate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@Data
@ApiModel
public class StoreDemandTemplateResDTO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "尺码30")
private Integer selectSize30;
@ApiModelProperty(value = "尺码31")
private Integer selectSize31;
@ApiModelProperty(value = "尺码32")
private Integer selectSize32;
@ApiModelProperty(value = "尺码33")
private Integer selectSize33;
@ApiModelProperty(value = "尺码34")
private Integer selectSize34;
@ApiModelProperty(value = "尺码35")
private Integer selectSize35;
@ApiModelProperty(value = "尺码36")
private Integer selectSize36;
@ApiModelProperty(value = "尺码37")
private Integer selectSize37;
@ApiModelProperty(value = "尺码38")
private Integer selectSize38;
@ApiModelProperty(value = "尺码39")
private Integer selectSize39;
@ApiModelProperty(value = "尺码40")
private Integer selectSize40;
@ApiModelProperty(value = "尺码41")
private Integer selectSize41;
@ApiModelProperty(value = "尺码42")
private Integer selectSize42;
@ApiModelProperty(value = "尺码43")
private Integer selectSize43;
@ApiModelProperty(value = "商品信息 工厂名称")
private Integer selectFacName;
@ApiModelProperty(value = "商品信息 需求单号")
private Integer selectDemandCode;
@ApiModelProperty(value = "商品信息 提单时间")
private Integer selectMakeTime;
@ApiModelProperty(value = "商品信息 工厂货号")
private Integer selectFactoryArtNum;
@ApiModelProperty(value = "商品信息 商品货号")
private Integer selectProdArtNum;
@ApiModelProperty(value = "商品信息 颜色")
private Integer selectColorName;
@ApiModelProperty(value = "商品信息 内里材质")
private Integer selectShoeUpperLiningMaterial;
@ApiModelProperty(value = "商品信息 鞋面材质")
private Integer selectShaftMaterial;
@ApiModelProperty(value = "商品信息 生产状态 1 待生产 2 生产中 3 生产完成")
private Integer selectDemandStatus;
@ApiModelProperty(value = "商品信息 紧急程度 0正常 1紧急")
private Integer selectEmergency;
@ApiModelProperty(value = "商品信息 总需求数量")
private Integer selectQuantity;
@ApiModelProperty(value = "工艺信息 客户名称")
private Integer selectPartnerName;
@ApiModelProperty(value = "工艺信息 商标")
private Integer selectTrademark;
@ApiModelProperty(value = "工艺信息 鞋型")
private Integer selectShoeType;
@ApiModelProperty(value = "工艺信息 楦号")
private Integer selectShoeSize;
@ApiModelProperty(value = "工艺信息 主皮")
private Integer selectMainSkin;
@ApiModelProperty(value = "工艺信息 主皮用量")
private Integer selectMainSkinUsage;
@ApiModelProperty(value = "工艺信息 配皮")
private Integer selectMatchSkin;
@ApiModelProperty(value = "工艺信息 配皮用量")
private Integer selectMatchSkinUsage;
@ApiModelProperty(value = "工艺信息 领口")
private Integer selectNeckline;
@ApiModelProperty(value = "工艺信息 膛底")
private Integer selectInsole;
@ApiModelProperty(value = "工艺信息 扣件/拉头")
private Integer selectFastener;
@ApiModelProperty(value = "工艺信息 辅料")
private Integer selectShoeAccessories;
@ApiModelProperty(value = "工艺信息 包头")
private Integer selectToeCap;
@ApiModelProperty(value = "工艺信息 包边")
private Integer selectEdgeBinding;
@ApiModelProperty(value = "工艺信息 中大底")
private Integer selectMidOutsole;
@ApiModelProperty(value = "工艺信息 防水台")
private Integer selectPlatformSole;
@ApiModelProperty(value = "工艺信息 中底厂家编码")
private Integer selectMidsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 外底厂家编码")
private Integer selectOutsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 跟厂编码")
private Integer selectHeelFactoryCode;
@ApiModelProperty(value = "工艺信息 配料")
private Integer selectComponents;
@ApiModelProperty(value = "工艺信息 第二底料")
private Integer selectSecondSoleMaterial;
@ApiModelProperty(value = "工艺信息 第二配料")
private Integer selectSecondUpperMaterial;
}

View File

@ -0,0 +1,114 @@
package com.ruoyi.xkt.dto.storeProductDemandTemplate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liujiang
* @version v1.0
* @date 2025/3/27 15:12
*/
@Data
@ApiModel
public class StoreDemandTemplateUpdateDTO {
@ApiModelProperty(value = "档口ID")
private Long storeId;
@ApiModelProperty(value = "尺码30")
private Integer selectSize30;
@ApiModelProperty(value = "尺码31")
private Integer selectSize31;
@ApiModelProperty(value = "尺码32")
private Integer selectSize32;
@ApiModelProperty(value = "尺码33")
private Integer selectSize33;
@ApiModelProperty(value = "尺码34")
private Integer selectSize34;
@ApiModelProperty(value = "尺码35")
private Integer selectSize35;
@ApiModelProperty(value = "尺码36")
private Integer selectSize36;
@ApiModelProperty(value = "尺码37")
private Integer selectSize37;
@ApiModelProperty(value = "尺码38")
private Integer selectSize38;
@ApiModelProperty(value = "尺码39")
private Integer selectSize39;
@ApiModelProperty(value = "尺码40")
private Integer selectSize40;
@ApiModelProperty(value = "尺码41")
private Integer selectSize41;
@ApiModelProperty(value = "尺码42")
private Integer selectSize42;
@ApiModelProperty(value = "尺码43")
private Integer selectSize43;
@ApiModelProperty(value = "商品信息 工厂名称")
private Integer selectFacName;
@ApiModelProperty(value = "商品信息 需求单号")
private Integer selectDemandCode;
@ApiModelProperty(value = "商品信息 提单时间")
private Integer selectMakeTime;
@ApiModelProperty(value = "商品信息 工厂货号")
private Integer selectFactoryArtNum;
@ApiModelProperty(value = "商品信息 商品货号")
private Integer selectProdArtNum;
@ApiModelProperty(value = "商品信息 颜色")
private Integer selectColorName;
@ApiModelProperty(value = "商品信息 内里材质")
private Integer selectShoeUpperLiningMaterial;
@ApiModelProperty(value = "商品信息 鞋面材质")
private Integer selectShaftMaterial;
@ApiModelProperty(value = "商品信息 生产状态 1 待生产 2 生产中 3 生产完成")
private Integer selectDemandStatus;
@ApiModelProperty(value = "商品信息 紧急程度 0正常 1紧急")
private Integer selectEmergency;
@ApiModelProperty(value = "商品信息 总需求数量")
private Integer selectQuantity;
@ApiModelProperty(value = "工艺信息 客户名称")
private Integer selectPartnerName;
@ApiModelProperty(value = "工艺信息 商标")
private Integer selectTrademark;
@ApiModelProperty(value = "工艺信息 鞋型")
private Integer selectShoeType;
@ApiModelProperty(value = "工艺信息 楦号")
private Integer selectShoeSize;
@ApiModelProperty(value = "工艺信息 主皮")
private Integer selectMainSkin;
@ApiModelProperty(value = "工艺信息 主皮用量")
private Integer selectMainSkinUsage;
@ApiModelProperty(value = "工艺信息 配皮")
private Integer selectMatchSkin;
@ApiModelProperty(value = "工艺信息 配皮用量")
private Integer selectMatchSkinUsage;
@ApiModelProperty(value = "工艺信息 领口")
private Integer selectNeckline;
@ApiModelProperty(value = "工艺信息 膛底")
private Integer selectInsole;
@ApiModelProperty(value = "工艺信息 扣件/拉头")
private Integer selectFastener;
@ApiModelProperty(value = "工艺信息 辅料")
private Integer selectShoeAccessories;
@ApiModelProperty(value = "工艺信息 包头")
private Integer selectToeCap;
@ApiModelProperty(value = "工艺信息 包边")
private Integer selectEdgeBinding;
@ApiModelProperty(value = "工艺信息 中大底")
private Integer selectMidOutsole;
@ApiModelProperty(value = "工艺信息 防水台")
private Integer selectPlatformSole;
@ApiModelProperty(value = "工艺信息 中底厂家编码")
private Integer selectMidsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 外底厂家编码")
private Integer selectOutsoleFactoryCode;
@ApiModelProperty(value = "工艺信息 跟厂编码")
private Integer selectHeelFactoryCode;
@ApiModelProperty(value = "工艺信息 配料")
private Integer selectComponents;
@ApiModelProperty(value = "工艺信息 第二底料")
private Integer selectSecondSoleMaterial;
@ApiModelProperty(value = "工艺信息 第二配料")
private Integer selectSecondUpperMaterial;
}

View File

@ -0,0 +1,16 @@
package com.ruoyi.xkt.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.xkt.domain.StoreProductDemandTemplate;
import org.springframework.stereotype.Repository;
/**
* Mapper
*
* @author ruoyi
* @date 2025-03-26
*/
@Repository
public interface StoreProductDemandTemplateMapper extends BaseMapper<StoreProductDemandTemplate> {
}

View File

@ -0,0 +1,38 @@
package com.ruoyi.xkt.service;
import com.ruoyi.xkt.dto.storeProductDemandTemplate.StoreDemandTemplateResDTO;
import com.ruoyi.xkt.dto.storeProductDemandTemplate.StoreDemandTemplateUpdateDTO;
/**
* Service
*
* @author ruoyi
* @date 2025-03-26
*/
public interface IStoreProductDemandTemplateService {
/**
*
*
* @param storeId ID
* @return StoreDemandTemplateResDTO
*/
StoreDemandTemplateResDTO getTemplate(Long storeId);
/**
*
*
* @param storeId ID
* @return
*/
Integer initTemplate(Long storeId);
/**
*
*
* @param updateDTO
* @return
*/
Integer updateTemplate(StoreDemandTemplateUpdateDTO updateDTO);
}

View File

@ -6,10 +6,11 @@ import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.model.ESystemRole;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.xkt.domain.*;
import com.ruoyi.xkt.domain.Store;
import com.ruoyi.xkt.domain.StoreCertificate;
import com.ruoyi.xkt.domain.SysFile;
import com.ruoyi.xkt.dto.storeCertificate.StoreCertDTO;
import com.ruoyi.xkt.dto.storeCertificate.StoreCertResDTO;
import com.ruoyi.xkt.dto.storeCertificate.StoreCertStepResDTO;
@ -47,8 +48,7 @@ public class StoreCertificateServiceImpl implements IStoreCertificateService {
final StoreSaleDetailMapper saleDetailMapper;
final StoreProductMapper storeProdMapper;
final ISysUserService userService;
final VoucherSequenceMapper vsMapper;
final StoreCustomerMapper storeCusMapper;
/**
*
@ -65,24 +65,7 @@ public class StoreCertificateServiceImpl implements IStoreCertificateService {
.setStoreId(store.getId());
// 新增档口认证的文件列表
storeCert = this.handleStoreCertFileList(certDTO, storeCert);
int count = this.storeCertMapper.insert(storeCert);
// 新增档口的单据编号初始化 销售出库、采购入库、需求单、订单
List<VoucherSequence> vsList = new ArrayList<>();
// 销售出库
vsList.add(this.initVoucherSequence(store.getId(), Constants.VOUCHER_SEQ_STORE_SALE_TYPE, Constants.VOUCHER_SEQ_STORE_SALE_PREFIX));
// 采购入库
vsList.add(this.initVoucherSequence(store.getId(), Constants.VOUCHER_SEQ_STORAGE_TYPE, Constants.VOUCHER_SEQ_STORAGE_PREFIX));
// 需求单
vsList.add(this.initVoucherSequence(store.getId(), Constants.VOUCHER_SEQ_DEMAND_TYPE, Constants.VOUCHER_SEQ_DEMAND_PREFIX));
// 代发订单
vsList.add(this.initVoucherSequence(store.getId(), Constants.VOUCHER_SEQ_STORE_ORDER_TYPE, Constants.VOUCHER_SEQ_STORE_ORDER_PREFIX));
this.vsMapper.insert(vsList);
// 新增档口 “现金客户”
StoreCustomer storeCus = new StoreCustomer().setStoreId(store.getId()).setPhone(store.getContactPhone())
// 默认创建现金客户
.setCusName(Constants.STORE_CUS_CASH);
this.storeCusMapper.insert(storeCus);
return count;
return this.storeCertMapper.insert(storeCert);
}
@ -268,18 +251,5 @@ public class StoreCertificateServiceImpl implements IStoreCertificateService {
this.storeMapper.updateById(store);
}
/**
*
*
* @param storeId ID
* @param type
* @param prefix
* @return
*/
private VoucherSequence initVoucherSequence(Long storeId, String type, String prefix) {
return new VoucherSequence().setStoreId(storeId).setType(type).setDateFormat(DateUtils.YYYY_MM_DD)
.setPrefix(prefix).setNextSequence(1).setSequenceFormat(Constants.VOUCHER_SEQ_FORMAT);
}
}

View File

@ -0,0 +1,97 @@
package com.ruoyi.xkt.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.xkt.domain.StoreProductDemandTemplate;
import com.ruoyi.xkt.dto.storeProductDemandTemplate.StoreDemandTemplateResDTO;
import com.ruoyi.xkt.dto.storeProductDemandTemplate.StoreDemandTemplateUpdateDTO;
import com.ruoyi.xkt.mapper.StoreProductDemandTemplateMapper;
import com.ruoyi.xkt.service.IStoreProductDemandTemplateService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Optional;
/**
* Service
*
* @author ruoyi
* @date 2025-03-26
*/
@Service
@RequiredArgsConstructor
public class StoreProductDemandTemplateServiceImpl implements IStoreProductDemandTemplateService {
final StoreProductDemandTemplateMapper templateMapper;
private static final Integer SELECTED = 1;
private static final Integer UNSELECTED = 0;
/**
*
*
* @param storeId ID
* @return StoreDemandTemplateResDTO
*/
@Override
@Transactional(readOnly = true)
public StoreDemandTemplateResDTO getTemplate(Long storeId) {
StoreProductDemandTemplate template = this.templateMapper.selectOne(new LambdaQueryWrapper<StoreProductDemandTemplate>()
.eq(StoreProductDemandTemplate::getStoreId, storeId).eq(StoreProductDemandTemplate::getDelFlag, Constants.UNDELETED));
return BeanUtil.toBean(template, StoreDemandTemplateResDTO.class);
}
/**
*
*
* @param storeId ID
* @return
*/
@Override
@Transactional
public Integer initTemplate(Long storeId) {
StoreProductDemandTemplate template = Optional.ofNullable(this.templateMapper.selectOne(new LambdaQueryWrapper<StoreProductDemandTemplate>()
.eq(StoreProductDemandTemplate::getStoreId, storeId).eq(StoreProductDemandTemplate::getDelFlag, Constants.UNDELETED)))
.orElse(new StoreProductDemandTemplate());
// 设置初始化值为未选中
template.setSelectSize30(UNSELECTED).setSelectSize31(UNSELECTED).setSelectSize32(UNSELECTED).setSelectSize33(UNSELECTED)
.setSelectSize41(UNSELECTED).setSelectSize42(UNSELECTED).setSelectSize43(UNSELECTED)
.setSelectPartnerName(UNSELECTED).setSelectTrademark(UNSELECTED).setSelectShoeType(UNSELECTED)
.setSelectShoeSize(UNSELECTED).setSelectMainSkin(UNSELECTED).setSelectMainSkinUsage(UNSELECTED)
.setSelectMatchSkin(UNSELECTED).setSelectMatchSkinUsage(UNSELECTED).setSelectNeckline(UNSELECTED)
.setSelectInsole(UNSELECTED).setSelectFastener(UNSELECTED).setSelectShoeAccessories(UNSELECTED)
.setSelectToeCap(UNSELECTED).setSelectEdgeBinding(UNSELECTED).setSelectMidOutsole(UNSELECTED)
.setSelectPlatformSole(UNSELECTED).setSelectMidsoleFactoryCode(UNSELECTED)
.setSelectOutsoleFactoryCode(UNSELECTED).setSelectHeelFactoryCode(UNSELECTED)
.setSelectComponents(UNSELECTED).setSelectSecondSoleMaterial(UNSELECTED)
.setSelectSecondUpperMaterial(UNSELECTED);
// 设置初始化值
template.setSelectSize34(SELECTED).setSelectSize35(SELECTED).setSelectSize36(SELECTED).setSelectSize37(SELECTED).setSelectSize38(SELECTED)
.setSelectSize39(SELECTED).setSelectSize40(SELECTED).setSelectFacName(SELECTED).setSelectDemandCode(SELECTED).setSelectMakeTime(SELECTED)
.setSelectFactoryArtNum(SELECTED).setSelectProdArtNum(SELECTED).setSelectColorName(SELECTED).setSelectShoeUpperLiningMaterial(SELECTED)
.setSelectShaftMaterial(SELECTED).setSelectDemandStatus(SELECTED).setSelectEmergency(SELECTED).setSelectQuantity(SELECTED);
this.templateMapper.insertOrUpdate(template);
return 1;
}
/**
*
*
* @param updateDTO
* @return Integer
*/
@Override
@Transactional
public Integer updateTemplate(StoreDemandTemplateUpdateDTO updateDTO) {
StoreProductDemandTemplate template = Optional.ofNullable(this.templateMapper.selectOne(new LambdaQueryWrapper<StoreProductDemandTemplate>()
.eq(StoreProductDemandTemplate::getStoreId, updateDTO.getStoreId()).eq(StoreProductDemandTemplate::getDelFlag, Constants.UNDELETED)))
.orElse(new StoreProductDemandTemplate());
BeanUtil.copyProperties(updateDTO, template);
this.templateMapper.insertOrUpdate(template);
return 1;
}
}

View File

@ -16,6 +16,7 @@ import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.Page;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bigDecimal.CollectorsUtil;
@ -28,10 +29,7 @@ import com.ruoyi.xkt.dto.storeCertificate.StoreCertDTO;
import com.ruoyi.xkt.dto.storeCertificate.StoreCertResDTO;
import com.ruoyi.xkt.enums.*;
import com.ruoyi.xkt.mapper.*;
import com.ruoyi.xkt.service.IAssetService;
import com.ruoyi.xkt.service.INoticeService;
import com.ruoyi.xkt.service.IStoreCertificateService;
import com.ruoyi.xkt.service.IStoreService;
import com.ruoyi.xkt.service.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@ -78,6 +76,10 @@ public class StoreServiceImpl implements IStoreService {
final EsClientWrapper esClientWrapper;
final StoreMemberMapper storeMemberMapper;
final INoticeService noticeService;
final VoucherSequenceMapper vsMapper;
final StoreCustomerMapper storeCusMapper;
final StoreFactoryMapper storeFactoryMapper;
final IStoreProductDemandTemplateService storeTemplateService;
/**
*
@ -141,6 +143,8 @@ public class StoreServiceImpl implements IStoreService {
store.setStockSys(auditDTO.getStockSys());
// 将store存到redis中
redisCache.setCacheObject(CacheConstants.STORE_KEY + store.getId(), store);
// 初始化其它数据
this.initOthers(store.getId(), store.getContactPhone(), store.getStoreName());
} else {
store.setStoreStatus(StoreStatus.AUDIT_REJECTED.getValue());
store.setRejectReason(auditDTO.getRejectReason());
@ -807,5 +811,38 @@ public class StoreServiceImpl implements IStoreService {
return storeCert.setIdCardFaceFileId(idCardFaceFile.getId()).setIdCardEmblemFileId(idCardEmblemFile.getId()).setLicenseFileId(licenseFile.getId());
}
/**
*
*
* @param storeId ID
* @param type
* @param prefix
* @return
*/
private VoucherSequence initVoucherSequence(Long storeId, String type, String prefix) {
return new VoucherSequence().setStoreId(storeId).setType(type).setDateFormat(DateUtils.YYYY_MM_DD)
.setPrefix(prefix).setNextSequence(1).setSequenceFormat(Constants.VOUCHER_SEQ_FORMAT);
}
private void initOthers(Long storeId, String contactPhone, String storeName) {
// 新增档口的单据编号初始化 销售出库、采购入库、需求单、订单
List<VoucherSequence> vsList = new ArrayList<>();
// 销售出库
vsList.add(this.initVoucherSequence(storeId, Constants.VOUCHER_SEQ_STORE_SALE_TYPE, Constants.VOUCHER_SEQ_STORE_SALE_PREFIX));
// 采购入库
vsList.add(this.initVoucherSequence(storeId, Constants.VOUCHER_SEQ_STORAGE_TYPE, Constants.VOUCHER_SEQ_STORAGE_PREFIX));
// 需求单
vsList.add(this.initVoucherSequence(storeId, Constants.VOUCHER_SEQ_DEMAND_TYPE, Constants.VOUCHER_SEQ_DEMAND_PREFIX));
// 代发订单
vsList.add(this.initVoucherSequence(storeId, Constants.VOUCHER_SEQ_STORE_ORDER_TYPE, Constants.VOUCHER_SEQ_STORE_ORDER_PREFIX));
this.vsMapper.insert(vsList);
// 默认创建现金客户
this.storeCusMapper.insert(new StoreCustomer().setStoreId(storeId).setPhone(contactPhone).setCusName(Constants.STORE_CUS_CASH));
// 创建默认的工厂
this.storeFactoryMapper.insert(new StoreFactory().setFacName(storeName + "工厂"));
// 创建默认的需求下载模板
this.storeTemplateService.initTemplate(storeId);
}
}