首页 前端知识 基于javaweb mysql的ssm maven医药进销存系统(java ssm jsp layui jquery maven mysql)

基于javaweb mysql的ssm maven医药进销存系统(java ssm jsp layui jquery maven mysql)

2024-02-04 11:02:03 前端知识 前端哥 213 928 我要收藏

基于javaweb+mysql的ssm+maven医药进销存系统(java+ssm+jsp+layui+jquery+maven+mysql)

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SSM+Maven医药进销存系统(java+ssm+jsp+layui+jquery+maven+mysql)

功能介绍

医药进销存系统,主要功能包括:

公告管理:发布公告、公告列表; 生产管理:订单列表、增加生产、订单日志; 分店采购:分店审核、采购; 总店仓库:出库管理、仓库列表、入库管理; 分店管理:分店库存、分店列表、分店财务; 商品管理:原材料、药效、商品列表、药品类型; 总店采购:采购列表、采购审核; 合同管理:合同类型管理、合同列表; 会员管理:会员列表; 质检:质检; 权限管理:人员管理、模块管理、部门管理、角色管理; 审核管理:财务审核、生产审核、采购审核; 分店销售:销售统计图、订单批发审核、订单列表、分店销售; 该项目共有49张表,功能比较复杂;

其他管理:供货商管理,新增、搜索、编辑、删除;

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本;

技术栈

  1. 后端:Spring SpringMVC MyBatis 2. 前端:JSP+Layui+jQuery

运行说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行; 3. 将项目中db.properties和spring.xml配置文件中的数据库配置改为自己的配置;

  2. 运行项目,输入http://localhost:8080/medicine/page/login.jsp 登录

				map.put("kinId",list.get(i).getKinId());//map赋值-商品ID-明细订单集合第i个中的商品ID
				map.put("kmpNum",list.get(i).getKmpNum());//map赋值-商品数量-明细订单集合第i个中的商品数量
				mapList.add(map);//把map加入到map集合
			}
			int row3 = sumstockDao.updateStockSuount(mapList);//分店库存:批量减少库存(根据分店ID和商品ID减少)
			if(row3<1){//如果减少库存的影响行数小于1
				return 0;//返回0
			}
			
			//增加财务(先增加分店收入明细,再增加分店表的总资产)
			/*  增加分店收入明细  */
			ErpLedgyr ledgyr = new ErpLedgyr();//实例化一个分店财务模型
			ledgyr.setGyrId(UUID.randomUUID()+"");//赋值-分店财务ID-随机生成
			ledgyr.setSaleId(sctockmp.getSaleId());//赋值-分店销售ID
			ledgyr.setAnnexId(sctockmp.getAnnexId());//赋值-分店ID-订单中的分店ID
			ledgyr.setGyrSreial(UUID.randomUUID()+"");//赋值-分店支出收入编号-随机生成
			ledgyr.setGyrPrice(sctockmp.getSaleMoney1());//赋值-分店支出金钱-订单中的应付金额
			ledgyr.setCreater(sctockmp.getCreater());//赋值-创建人-订单中的创建人
			ledgyr.setCreatetime(sctockmp.getCreatetime()+"");//赋值-创建时间-订单中的创建时间
			int row4 = ledgyrDao.insertSelective(ledgyr);//分店财务:增加(可以为空)
			if(row4<1){//如果增加的影响行数小于1
				return 0;
			}
			
			/*  增加分店表的总资产  */
			ErpAnnex annex = new ErpAnnex();//实例化一个分店模型
			annex.setAnnexId(sctockmp.getAnnexId());//分店赋值-分店ID-订单中的分店ID
			annex.setAnnexPrice(sctockmp.getSaleMoney1());//分店赋值-分店总资产-订单中的应付金额
			int row5 = annexDao.updateAnnexPriceAdd(annex);//分店:增加分店的总资产
			if(row5<1){//如果 增加分店的总资产 的影响行数小于1
				return 0;
			}
		}
		int rows = row1+row2;
		return rows;
	}

	@Override
	public List<Map<String, Object>> findAll(Map<String, Object> sctockmpMap) {
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//实例化一个map集合
		List<Map<String, Object>> sctockmpList = sctockmpDao.findAll(sctockmpMap);//订单:查询订单列表
		//把订单时间转换为字符串
		for (Iterator iterator = sctockmpList.iterator(); iterator.hasNext();) {//迭代器循环-订单列表
			Map<String, Object> mapList = (Map<String, Object>) iterator.next();
			mapList.put("SALE_DATE", mapList.get("SALE_DATE")+"");//把map中的订单时间重新赋值-订单时间+‘’
			list.add(mapList);//加入到map集合
		}
		return list;
	}


/**
 * 分店销售订单service实现接口
 */
@Service
public class SctockmpServiceImpl implements SctockmpService{
	@Resource
	ErpSctockmpMapper sctockmpDao;//分店销售订单
	@Resource
	ErpSctockmpDetailMapper sctockmpDetailDao;//分店销售订单明细
	@Resource
	ErpSumstockMapper sumstockDao;//分店库存表
	@Resource
	ErpLedgyrMapper ledgyrDao;//分店财务
	@Resource
	ErpAnnexMapper annexDao;//分店表
	@Resource
	ErpAuditMapper auditDao;//审核表

	@Override
	public int addSctockmp(ErpSctockmp sctockmp, List<ErpSctockmpDetail> list) {
		//增加销售订单
		int row1 = sctockmpDao.insertSelective(sctockmp);//订单:增加(可以为空)
		//增加销售订单明细
		int row2 = sctockmpDetailDao.addSctockmpDetailList(list);//订单明细:批量增加销售订单明细
		//如果为零售(则需减库存,增加财务)
		if(sctockmp.getSaleIfWholesale()==0){//如果销售订单对象的是否批发 等于零的时候
			//减库存
			List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();//实例化一个map集合
			for(int i =0;i<list.size();i++){//循环分店销售订单明细集合
				Map<String, Object> map = new HashMap<String, Object>();//实例化map集合
				map.put("annexId",sctockmp.getAnnexId());//map赋值-分店ID-订单中的分店ID
				map.put("kinId",list.get(i).getKinId());//map赋值-商品ID-明细订单集合第i个中的商品ID
				map.put("kmpNum",list.get(i).getKmpNum());//map赋值-商品数量-明细订单集合第i个中的商品数量
				mapList.add(map);//把map加入到map集合
			}
			int row3 = sumstockDao.updateStockSuount(mapList);//分店库存:批量减少库存(根据分店ID和商品ID减少)
			if(row3<1){//如果减少库存的影响行数小于1
				return 0;//返回0
			}
			
			//增加财务(先增加分店收入明细,再增加分店表的总资产)
				mapList.add(map);//把map加入map集合
			}
			sumstockDao.updateStockSuount(mapList);//无返回-库存:批量减少库存(根据分店ID和商品ID减少)
			//增加财务(先增加分店收入明细,再增加分店表的总资产)
			/*  增加分店收入明细  */
			ErpLedgyr ledgyr = new ErpLedgyr();//实例化一个分店财务模型
			ledgyr.setGyrId(UUID.randomUUID()+"");//赋值-分店财务ID-随机生成
			ledgyr.setSaleId(sctockmp.getSaleId());//赋值-订单中的分店销售ID
			ledgyr.setAnnexId(sctockmp.getAnnexId());//赋值-分店ID-订单中的分店ID
			ledgyr.setGyrSreial(UUID.randomUUID()+"");//赋值-分店支出收入编号-随机生成
			ledgyr.setGyrPrice(sctockmp.getSaleMoney1());//赋值-分店支出金钱-订单中的应付金额
			ledgyr.setCreater(sctockmp.getCreater());//赋值-创建人-订单中的创建人
			ledgyr.setCreatetime(sctockmp.getCreatetime()+"");//赋值-创建时间-订单中的创建时间
			ledgyrDao.insertSelective(ledgyr);//无返回-分店财务:增加(可以为空)
			
			/*  增加分店表的总资产  */
			ErpAnnex annex = new ErpAnnex();//实例化一个分店模型
			annex.setAnnexId(sctockmp.getAnnexId());//赋值-分店ID-订单中的分店ID
			annex.setAnnexPrice(sctockmp.getSaleMoney1());//赋值-分店总资产-订单中的应付金额
			annexDao.updateAnnexPriceAdd(annex);//无返回-分店:增加分店的总资产
			
		}
		//增加审核表
		ErpAudit audit = new ErpAudit();//实例化一个审核类
		audit.setBusinessId(saleId);//审核赋值-业务ID-订单ID
		audit.setAudSerial(UUID.randomUUID()+"");//赋值-审核编号-随机生产
		ErpStaff staff = (ErpStaff) session.getAttribute("staff");//得到Session中的员工对象
		audit.setAudName(staff.getStaName());//赋值-审核人-员工姓名
		audit.setAudTime(Tools.getCurDateTime());//赋值-审核时间-工具类:得到当前日期时间
		audit.setState(2);//赋值-审核状态-2
		audit.setCreatetime(Tools.getCurDateTime());//赋值-创建时间-工具类:得到当前日期时间
		audit.setCreater(staff.getStaId());//赋值-创建人-员工ID
		audit.setIsva(1);//赋值-是否有效-是
		auditDao.insertSelective(audit);//无返回-审核:增加(可以为空)
		//最后增加订单状态
		return sctockmpDao.updateWholesaleStateAdd(saleId);//订单:审核通过,增加批发状态
	}

	@Override
	public int updateWholesaleStateZero(String saleId,String feedBack,HttpSession session) {
		//增加审核表
		map.put("data", list);
		//将0传入map,取名为code
		map.put("code",0);
		//将空传入map 取名为msg
		map.put("msg", "");
		//返回map
		return map;
	}
	
	
	
	
	/**
	 * 根据id查询
	 * @return 返回list
	 */
	@RequestMapping("/findByID")
	@ResponseBody
	public ErpPact findByID(String pactId){
		//合同表 合同方法查找单个对象 返回合同
		ErpPact pact=erpPactService.selectByPrimaryKey(pactId);
		//返回合同
		return pact;
		
	}
	
	
	/**
	 * 根据id查询
	 * @return 返回list
	 */
	@RequestMapping("/findByshowid")
	@ResponseBody
	public Map<String, Object> findByshowid(String pactId){
		//map 合同方法根据合同id查询供货商和合同详情 返回合同
		Map<String, Object> pact=erpPactService.selectshowid(pactId);
		//返回合同
		return pact;
	}
}
/**
 * XLe1丶
 */

			mes.setState(1);
		}else{
			//消息类的消息值赋值为失败
			mes.setMes("操作失败");
			//将消息类的状态赋值为0
			mes.setState(0);
		}
		//返回消息类
		return mes;
		
		
	}
	
	/**
	 * 增加类型
	 * @param record 类型对象
	 * @return 返回信息类
	 */
	@RequestMapping("insertSelectivePact")
	@ResponseBody
	public SsmMessage insertSelectivePact(ErpPact record,HttpSession session){
		
		
		
		//给订单采购的id赋值为订单采购的id 
		record.setPurId(record.getPurId());
		//给供货商的id赋值为供货商的id
		record.setApplyId(record.getApplyId());
		//给合同类型的id赋值为合同类型的id
		record.setPatypeId(record.getPatypeId());
		//给合同的标题赋值为合同的标题
		record.setPactTitle(record.getPactTitle());
		//给合同的编号赋值为工具类中的得到订单编码格式:日期格式如:20161222211800,分别代表的是年月日时分秒+5位随机字符串
		record.setPactNumber("HT-"+Tools.getDateOrderNo());
		//初始化时间对象
		Date date=new Date();
		//将合同的时间赋值为初始化的时间
		record.setPactSigntime(date);
		//给合同内容赋值为合同的内容
		record.setPactText(record.getPactText());
		//给合同id赋值为合同id
		record.setPactId(record.getPactId());
		//得到session中的人员对象staff
		ErpStaff staff = (ErpStaff) session.getAttribute("staff");
		//给名字赋值为人员staff的名字
		//分页工具类的每页最大显示条数
		ps.setMaxResult(limit);
		//将分页工具类开始的行数传入给第二个map
		pagmap.put("page", ps.getFirstRows());//把页数传到map
		//将分页工具类每页最大显示条数传入给第二个map
		pagmap.put("limit", ps.getMaxResult());//把页数传到map
		//上面属性最后一个属性关键字查询
		pagmap.put("key", key);//关键字
		
		//合同方法查询所有方法 返回list
		List<ErpPact> list=erpPactService.selectshow(pagmap);
		
		//layui数据表格需要返回的参数 合同总行数
		map.put("count",erpPactService.findRowCount(pagmap));//总行数
		//将list传入map 取名为data
		map.put("data", list);
		//将0传入map,取名为code
		map.put("code",0);
		//将空传入map 取名为msg
		map.put("msg", "");
		//返回map
		return map;
	}
	
	
	
	
	/**
	 * 根据id查询
	 * @return 返回list
	 */
	@RequestMapping("/findByID")
	@ResponseBody
	public ErpPact findByID(String pactId){
		//合同表 合同方法查找单个对象 返回合同
		ErpPact pact=erpPactService.selectByPrimaryKey(pactId);
		//返回合同
		return pact;
		
	}
	
	
	/**
	 * 根据id查询
	 * @return 返回list
	 */
	@RequestMapping("/findByshowid")
	@ResponseBody
	public Map<String, Object> findByshowid(String pactId){
		//map 合同方法根据合同id查询供货商和合同详情 返回合同
		Map<String, Object> pact=erpPactService.selectshowid(pactId);
		
	}
	
	/**
	 * 查询所有商品,下拉框
	 * @param session
	 * @return
	 * @throws JsonProcessingException
	 */
	@RequestMapping("/showListAjax")
	@ResponseBody  //ajax的注解
	public List<ErpKinds> showListAjax(){
		
		List<ErpKinds> list = service.findStation();//查询所有商品
		return list;
	}
	
	

	/**
	 * 根据ID查询
	 * @param session
	 * @return
	 * @throws JsonProcessingException
	 */
	@RequestMapping("/findById")
	@ResponseBody  //ajax的注解
	public ErpKinds findById(ErpKinds kinds){
		
		ErpKinds list = service.selectByPrimaryKey(kinds.getKinId());//查询所有商品
		return list;
	}
	/**
	 * 查询单个对象仓库使用方法
	 * @param kinId 商品id
	 * @return 返回药品单个对象
	 */
	@RequestMapping("/selectByPrimaryNewKinId")
	@ResponseBody  //ajax的注解
	public ErpKinds selectByPrimaryNewKinId(String kinId){
		
		return service.selectByPrimaryNewKinId(kinId);
	}
	
	/**
	 * Excel导入
	 * @param file Excel文件
	 * @param session HttpSession
	 * @return 是否成功
	
}
/**
 * 
 */

/**
 * 采购订单Action
 */
@Controller
@RequestMapping("Purchase")
public class ErpPurchaseAction {
	/**
	 * 注入采购订单Service
	 */
	@Resource
	private ErpPurchaseService erpPurchaseService;

	/**
	 * 注入原材料Service
	 */
	@Resource
		pages.setCurPage(page);
		pages.setMaxResult(limit);
		staff.setPage(pages.getFirstRows());
		staff.setLimit(limit);
		List<ErpStaff>list = staffService.findAll(staff);
		map.put("count", staffService.findRowCount(staff));
		map.put("data", list);
		map.put("code",0);
		map.put("msg", "");
		return map;
	}
	
	@ResponseBody
	@RequestMapping("getStaff")
	public String getStaff() throws JsonProcessingException{
		ObjectMapper objectMapper = new ObjectMapper();
		List<ErpStaff>list = staffService.getStaff();
		String jsonString = objectMapper.writeValueAsString(list);
		System.out.println(jsonString);
		return jsonString;
	}

	@ResponseBody
	@RequestMapping("getDepa")
	public String getDepa() throws JsonProcessingException{
		ObjectMapper objectMapper = new ObjectMapper();
		List<ErpDepa>list = depaService.getDepa();
		String jsonString = objectMapper.writeValueAsString(list);
		System.out.println("部门的json是"+jsonString);
		return jsonString;
	}
	
	@RequestMapping("updateById")
	@ResponseBody
	public String updateById(String id){
		staffService.updateById(id);
		return null;
	}
	
	@RequestMapping("getRole")
	@ResponseBody
	public String getRole() throws JsonProcessingException{
		ObjectMapper objectMapper = new ObjectMapper();
		List<ErpRole>list = roleService.findAll();
		String json = objectMapper.writeValueAsString(list);
		System.out.println("权限:"+json);
		return json;
	}

	@ResponseBody
	@RequestMapping("add")
	public SsmMessage add(ErpStaff staff){
		List<ErpModel> model = modelService.finModel();
		List<ErpModel> model2 = modelService.getModel(roleId);
		List<ErpRoleModel> model3 = roleModelService.getMessage(roleId);
		for (Iterator iterator = model.iterator(); iterator.hasNext();) {
			ErpModel erpModel = (ErpModel) iterator.next();
			ZTree t = new ZTree();
			t.setId(erpModel.getModelId());
			t.setpId(erpModel.getErpModelId());
			t.setName(erpModel.getModelName());
			for (Iterator iterator2 = model2.iterator(); iterator2.hasNext();) {
				ErpModel erpModel2 = (ErpModel) iterator2.next();
				if(erpModel.getModelId().equals(erpModel2.getModelId())){
					t.setChecked("true");
				}
			}
			for (Iterator iterator2 = model3.iterator(); iterator2.hasNext();) {
				ErpRoleModel erpRoleModel = (ErpRoleModel) iterator2.next();
				if(erpModel.getModelId().equals(erpRoleModel.getModelId())){
					t.setChecked("true");
				}
			}
			tree.add(t);
			
		}
		return tree;
	}
	
	@RequestMapping("addModel")
	@ResponseBody
	public SsmMessage ModelAdd(String modelId,String roleId,String modelSubId){
		SsmMessage mes = new SsmMessage();
		String [] stringSplit = modelId.split(",");
		String [] stringSplit2 = modelSubId.split(",");
		System.out.println("stringSplit+++++++++++++++++++"+modelSubId+"         "+modelId);
		
		roleModelSubService.deleteByPrimaryKey(roleId);
		roleService.deleteModel(roleId);
		for(int i = 0;i<stringSplit.length;i++){
			ErpRoleModel model = new ErpRoleModel();
			model.setRoleModelId(UUID.randomUUID().toString());
			model.setRoleId(roleId);
			model.setModelId(stringSplit[i]);
			roleModelService.insertSelective(model);
		}
		
		for(int i = 0;i<stringSplit2.length;i++){
			ErpRoleModelSubordinate sub = new ErpRoleModelSubordinate();
			sub.setRoleId(roleId);
			sub.setModelId(stringSplit2[i]);
			sub.setSubId(UUID.randomUUID().toString());
		
	}
	/**
	 * 查询单个采购或者生产详情
	 * @param price id
	 * @return 单个对象
	 */
	@RequestMapping("selectShowNew")
	@ResponseBody
	public SsmMessage selectShowNew(String indentId,String purcId,HttpSession session) {
		SsmMessage mes = new SsmMessage();
		ErpStaff staff = (ErpStaff) session.getAttribute("staff");//得到人员session
		int rows = service.selectShowNew(indentId, purcId,staff.getStaId());
		if(rows>-1){ 
			mes.setMes("提交成功");
			mes.setState(1);
		}else{
			mes.setMes("提交失败");
			mes.setState(0);
		}
		return mes;
	}
}
/**
 * XLe1丶
 */

			modelService.updateByPrimaryKeySelective(model);
		}
		mes.setMes("ok");
		return mes;
	}
	
}
/**
 * 
 */

/**
 * 分店action
 */
@Controller
@RequestMapping("/annex")
public class AnnexAction {
	@Resource
	AnnexService service;
	
	/**
	 * 查找所有分店的数量
	 * @return 分店数量
	 */
	/**
	 * 显示和查询和分页(采购成品)
	 * @param purcId
	 * @param keywords
	 * @return map
	 */
	@RequestMapping("/showAlls")
	@ResponseBody
	public Map<String,Object> showAlls(String keywords,String page,String limit){
		Map<String,Object> mapPage = new HashMap<String,Object>();//定义Map集合
		Pages pages = new Pages();//得到分页类
		pages.setCurPage(Integer.valueOf(page));//当前页数
		pages.setMaxResult(Integer.valueOf(limit));//每页显示最大条数
		mapPage.put("pages", pages);//传入分页参数
		//判断前台传值是否为空,如不为空则进行迷糊查询
		if(keywords==null || "".equals(keywords)){
			mapPage.put("keywords", "");//为空不传值
		}else {
			mapPage.put("keywords", "%"+keywords+"%");//不为空传值模糊查询
		}
		Map<String,Object> map = new HashMap<String,Object>();//定义Map集合用于将前台的值
		List<ErpPurchase> list = erpPurchaseService.selectAlls(mapPage);//查询增加成品数据

		map.put("code", 0);
		map.put("msg", "");
		map.put("count", erpPurchaseService.purchaseFindRow(mapPage));//规定分页信息
		map.put("data", list);//传入list
		return map;//返回map
	}

	/**
	 * 删除(修改状态)
	 * @param state
	 * @param purcId
	 * @return eph
	 */
	@RequestMapping("/delete")
	@ResponseBody
	public ErpPurchase delete(ErpPurchase isva , String purcId){
		ErpPurchase eph = new ErpPurchase();//得到采购订单Model
		isva.setIsva(0);//得到状态值
		isva.setPurcId(purcId);//传入采购ID
		int d_purcId = erpPurchaseService.updateByPrimaryKeySelective(isva);//进行修改
		return eph;//返回eph
	}

	/**
	 * 查看详情(采购,采购详情,原材料)
	 * @param purcId
	 * @return
	 */
	@RequestMapping("/showNews")
	@ResponseBody
	/**
	 * 根据ID查询
	 * @param express
	 * @return
	 */
	@RequestMapping("/showidQualit")
	@ResponseBody
	public ErpProindent showidQualit(String indentId){
		return proindentService.showidQualit(indentId);//质检表查询单个对象
	}
	/**
	 * 生产订单审核
	 * @param indentId 生产订单id
	 * @param state 审核状态
	 * @param feedBack 反馈信息
	 * @return 返回消息类
	 */
	@ResponseBody
	@RequestMapping("/auditPpoindent")
	public SsmMessage auditPpoindent(String indentId,String state,String feedBack){
		SsmMessage mes = new SsmMessage();//定义一个消息类用于返回jsp
		Map<String,Object>map = new HashMap<String,Object>();//定义一个map集合
		if(Tools.isEmpty(feedBack)){//判断字符串是否为空
			map.put("feedBack", "暂无反馈信息");
		}else{
			map.put("feedBack", feedBack);//map集合中存入 反馈消息
		}
		map.put("indentId", indentId);//map集合中存入财务id
		map.put("state", state);//map集合中存入 审核是否通过   state=2 通过 state=0 不通过
		int rows = proindentService.auditPpoindent(map);
		return mes;
	}
}
/**
 * 
 */

	
	
	/**
	 * 下拉框查询所有订单
	 * @return list
	 */
	@RequestMapping("/findByxl")
	@ResponseBody
	public List<ErpProindent> findByxl(ErpProindent dent){
		List<ErpProindent> list=proindentService.findStation();
		
		return list;
		
	}
	
	
	
	
	
	/**
	 * 下拉框查询所有订单
	 * @param express
	 * @return map
	 */
	@RequestMapping("/findByshowxl")
	@ResponseBody
	public List<Map<String, Object>> findByshowxl(ErpProindent dent){
		
		List<Map<String, Object>> map=proindentService.findStationid(dent.getIndentId());//根据订单ID查询商品,下拉框 
		
		return map;
		
	}
	
	
	
	/**
	 * 订单日志查询,根据商品,订单,日志,日志明细 
	 * @param express
	 * @return
	@RequestMapping("add")
	private  SsmMessage add (@RequestParam(value = "kinId[]") String[] kinId,String fdprolistmxCount,String kinPrice,String fdprolistmxMoney,String fdproId,HttpSession session,String zong){
		SsmMessage mes = new SsmMessage();
		ErpStaff staff = (ErpStaff) session.getAttribute("staff");
		String [] fdprolistmxCount1 = fdprolistmxCount.split(",");
		String [] fdprolistmxMoney1 = fdprolistmxMoney.split(",");
		int count = 0;
		for(int i =0;i<fdprolistmxCount1.length;i++){
			count += Integer.valueOf(fdprolistmxCount1[i]);
		}
		Date date = new Date();
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		java.util.Random random=new java.util.Random();
		String fdId = UUID.randomUUID().toString();
		if(fdproId==""){
			ErpFdproform fd = new ErpFdproform();
			String serial = sdf.format(date);
			serial+=random.nextInt(100);
			fd.setFdproId(fdId);
			fd.setFdproSerial(serial);
			fd.setAnnexId(staff.getAnnexId());
			fd.setStaId(staff.getStaId());
			fd.setFdproSumprice(Double.valueOf(zong));
			fd.setFdproTime(String.valueOf(sdf1.format(date)));
			fd.setIsva("1");
			fd.setFdproIsva(0);
			fd.setFdproWarecount(count);
			fdproformService.insertSelective(fd);
			for(int i = 0;i<fdprolistmxCount1.length;i++){
				String dateTime = sdf.format(date);
				dateTime+=random.nextInt(100);
				ErpProlistmxsmall mall = new ErpProlistmxsmall();
				mall.setFdprolistmxId(UUID.randomUUID().toString());
				mall.setFdproId(fdId);
				mall.setKinId(kinId[i]);
				mall.setFdprolistmxNumber(dateTime);
				mall.setFdprolistmxMoney(Double.valueOf(fdprolistmxMoney1[i]));
				mall.setFdprolistmxCount(Integer.valueOf(fdprolistmxCount1[i]));
				mall.setFdprolistmxTime(sdf1.format(date));
				mall.setIsva("1");
				prolistmxsmallService.insertSelective(mall);
			}
			mes.setMes("add");
		}else{
			int rows = prolistmxsmallService.deleteFd(fdproId);
			if(rows>0){
				ErpFdproform fd = new ErpFdproform();
				for(int i = 0;i<fdprolistmxCount1.length;i++){
					String dateTime = sdf.format(date);
	@RequestMapping("/addOrUpdate")
	@ResponseBody
	public int addOrUpdate(ErpPurchase record,String[] rawId,String[] number,HttpSession session){
		int rows =0;//定义参数rows
		//判断前台传过来的值是否为空,为空就进入增加,不为空则进入修改
		if(record.getPurcId()!=null && !"".equals(record.getPurcId())){
			rows = erpPurchaseService.update(record);//修改
		}else{
			String time = Tools.getCurDateTime();//得到当前时间
			record.setPurcTime(time);//增加采购时间   
			ErpStaff staff = (ErpStaff) session.getAttribute("staff");//得到人员session
			record.setPurcName(staff.getStaName());//session得到用户信息
			record.setCreater("1");//设置采购原材料为1
			record.setCreatetime(time);//创建时间
			Double a = 0.0;//定义一个空数值
			//循环取得原材料ID
			for(int i=0;i<rawId.length;i++){
				ErpPurchaseDetails details2 = new ErpPurchaseDetails();//得到采购详细
				String [] arr = rawId[i].split("~");//分割符号~
				details2.setPurcTotalPrice(Double.valueOf(arr[1])*(Integer.valueOf(number[i])));//得到价格,数字转换
				a = a + Double.valueOf(arr[1])*(Integer.valueOf(number[i]));//累加
				record.setPurcTotalPrice(a);//增加加总价格
				String serial = Tools.getDateOrderNo();//得到工具类中的订单编码格式
				record.setPurcSerial("CG-"+serial);//增加订单编码格式
			}
			rows = erpPurchaseService.insert(record);//添加到采购表中
			for(int i=0;i<rawId.length;i++){
				ErpPurchaseDetails details = new ErpPurchaseDetails();//得到采购详细
				String [] arr = rawId[i].split("~");//分割符号~
				details.setPurcTotalPrice(Double.valueOf(arr[1])*(Integer.valueOf(number[i])));//增加总价格,进行数字转换
				details.setPurcTotalNumber(Integer.valueOf(number[i]));//增加总数量
				details.setPurcId(record.getPurcId());//增加订单ID
				details.setRowId(arr[0]);//增加原材料ID
				rows = erpPurchaseDetailsService.insertSelective(details);//添加到订单详细表中
			}
		}   
		return rows;//返回rows
	}

	/**
	 * 显示所有原材料(查询原材料表)
	 * @return
	 */
	@RequestMapping("/showRawAll")
	@ResponseBody

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

转载请注明出处或者链接地址:https://www.qianduange.cn//article/1285.html
标签
mysqlmaven
评论
发布的文章

安装Nodejs后,npm无法使用

2024-11-30 11:11:38

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!